|
while vs for
сделал прогонку 1000000 раз.
test=function(fu, i, name){ console.time(name) while(--i){fu()} console.timeEnd(name) } arr="foo bar baz flk jdjdj dkkdke jdj".split(" ") tst1=function(){ for(var i=0; i<arr.length; i++){arr[i]} } tst1_a=function(){ for(var i=arr.length; i>-1; i--){arr[i]} } tst2=function(){ var i = arr.length while(i--){arr[i]} } dflt=1000000 test(tst1, dflt, "ts1") test(tst1_a, dflt, "ts1_a") test(tst2, dflt, "ts2") //ts1: 23ms //ts1_a: 263ms //ts2: 41ms Как видно, while сливает в 2 раза почти, но 2-й for просто фантастически медленный. Интересно, почему? Тестировал на ноде. |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
bes,
Отформатировал. Только не пойму, зачем это. Что там буков чтоли не видно? Что по сабжу? |
добавь кнопку запуска [js run] и сам тест, чтобы сразу просмотреть результат,
по твоему примеру не видно, что ты Цитата:
|
Цитата:
|
Цитата:
|
bes,
У меня не работает запуск. Как эту кнопку правильно добавить? просто дописать в откр тег или еще что-то? |
Цитата:
|
Цитата:
|
109/62/79 в лисе показало. Странно. То есть, в лисе обычный цикл медленней.
|
Часовой пояс GMT +3, время: 10:55. |
|