[Moscow.pm] Про границы оптимизации.

Михаил Монашёв postmaster на softsearch.ru
Вт Сен 30 22:58:09 PDT 2014


Здравствуйте, Mons.

> Приведи пример, пожалуйста.
> неплохо бы, если в формате 


> cmpthese timethese -1, {
   old =>> sub { … },
   new =>> sub { … },
> };


> в принципе пишут всё правильно, но при наличии опыта бывает можно
> на глаз сказать по типу операций - предел это или можно ещё ускорить

Я  не  на перле, а под Ноду оптимизировал код. Для меня это была новая
среда,  и  было  не  ясно  что  к  чему.  Там  вообще  ещё  есть в чём
разбираться,  но  пока  идёт  активная  разработка  составляющих Ноды,
производительность  скачет  в  разы  от  версии  к версии и нет смысла
сильно  морочиться, и что-то кардинально переписывать. Пока, например,
замечены  чудеса,  что  изменение  элемента  массива  имеет  такую  же
скорость,  как  изменение  локальной  переменной  и вдвое быстрее, чем
изменение  переменной,  объявленной  на уровне файла с исходным кодом.
Или вот ещё пример:
for(var i=0;i<arr.length;i++){...}
for(var i=arr.length;i>0;){i--;...}

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

-- 
С уважением,
 Михаил                          mailto:postmaster на softsearch.ru



Подробная информация о списке рассылки Moscow-pm