⏱️ Время выполнения #shorts #javascript #js #frontend #programming

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

Для проверки скорости выполнения кода используется performance.now, а не console.time

AlexanderOsnovnoi
Автор

я просто не понимаю, как цикл for может быстрее while, учитывая, что цикл for реализован с помощью while. Если вы спросите себя: "смотрел ли я бесполезное видео?", - вспомните про это видео.

daark
Автор

Так долго консоль лог никто еще тут не писал

Megabarm
Автор

Я думал он скажет почему быстрее, ради этого смотрел, как он полчаса пишет КОНСОЛ

АлександрКириенко-щн
Автор

Если написать на с++ два варианта с for and while, скомпилировать, то на выходе в ассемблере будет идентичный код.

Lesnikovskiy
Автор

1. Через консоль нельзя мерять перформенс.
2. цикл фор вообще не выполнится. Интерпретатор JS пропустит этот блок для оптимизации. В его выполнении нет смысла

kazarovroman
Автор

Если что, то базовый квант переключения потоков равен 16мс. Это значит что минимальное время между таймерами будет либо 0мс, либо 16мс и более, но кратное 16 мс. Отсюда считаем. Любые другие таймеры - это не реальнное время, а интерпретация времени, в том или ином языке и его реализации. Квант, вам будет выдан раз в 16мс, и не более чем на 16мс. два ваших запроса времени либо попадут внутрь одного кванта, либо разойдутся на два кванта, как повезет. Производительность алгоритма меряется только тысячами циклов в повторе.

dazbjaxnoname
Автор

Давайте поможем джуну не страдать хуйнёй и использовать библиотеки бенчмарка вместо консоли, блять)

ОлександрСвиридов-хц
Автор

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

ножикМакс
Автор

For это и есть while. Во время интерпретации он заменится. Это просто синтаксический сахар для удобства

alexsh
Автор

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

tufoed
Автор

А теперь возьми выборку не из 10к элементов, а из миллионов и посмотри что будет быстрее

gerda-morozova
Автор

В Ардуине, чтобы двумя или тремя шаговыми двигателями управлять одновременно с разными скоростями и разными путями, с разными ускорением и замедлением- "while" оказался удобнее и быстрее в несколько раз, чем "for". Я не программист, и тонкостей не знаю, но вижу свой результат. "while" - самолёт, "for"- гусеничный трактор.

Parahromis
Автор

тут показано как v8 умеет "лениться", опиши полезную работу в области видимости циклов - будут другие результаты

игорьмамоненко
Автор

Надо число повторений выбирать так, чтобы общее время выполнения было более чем 2-3 секунды, а то системные и другие приложения будут сильно влиять на измерения

ivanovserg
Автор

Сделайте ещё один ролик, сделайте с отсечкой промежуточных таймером на 10 тыс, на 1 млн и на 10 млн итераций, будет интересен и код и результат!

generalakano
Автор

По идее во втором варианте каждый раз условие проверяется, поэтому дольше

andviktor
Автор

Класс, спасибо. А то я только о консоль.лог знал😊

antontuchkin
Автор

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

Anisimov_Yu_M
Автор

Запомните дети: слово "кон" пишется как "конь", а слово "тарелька" пишется как "тарелка"

victoryjun
visit shbcf.ru