Почему тормозят 500 циклов, в чем причина и как это оптимизировать? Так случилось что понадобился большой скрипт, чтобы замедлить работу браузера, потом я пошел дальше и
проверил как с этой задачей справятся другие языки. Итак, я использовал такой код:
500 циклов, каждый 125 000 000 итераций, в теле инструкция: result = n * 3 / 2.let result;
let i;
for (i = 0; i < 125000000; i++) {
result = i * 3 / 2;
}
for (i = 0; i < 125000000; i++) {
result = i * 3 / 2;
}
for (i = 0; i

21 Авг 2019 в 06:20
229 +1
0
Ответы
1

Да, скорее всего, разница в производительности между различными языками программирования в данном случае связана с оптимизацией кода и спецификой работы языков.

Node.js, являющийся реализаций JavaScript, может быть быстрее в данном случае из-за особенностей работы событийного цикла и асинхронных операций. Благодаря этому, Node.js может эффективнее обрабатывать такие операции, чем например, PHP.

Шустрота Node.js также может быть связана с тем, что в случае JavaScript JIT-компилятор, который оптимизирует код во время выполнения, что увеличивает его производительность.

Относительно C и C++, возможно, что в ваших примерах происходят неоптимальные обращения к памяти или что-то другое, что замедляет выполнение кода.

Что касается C#, то здесь могут влиять различные факторы, такие как работа сборщика мусора и другие подводные камни языка.

Если вы хотите оптимизировать выполнение подобных циклов, можно рассмотреть возможность использования параллельных вычислений, векторных инструкций, при необходимости применять оптимизации на уровне компилятора и т.д.

20 Апр 2024 в 13:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир