PHP медленный в больших итерациях
Для сравнительного анализа PHP с итерациями я рассмотрел большой цикл for
for($j=0;$j<20000000;$j++)
;
Выполнение того же самого занимает около 2,5 секунд в PHP 5.4 с включенным eAccelerator
Тот же цикл в файле.jsp занимает около 15 миллисекунд
for(int j=0;j<20000000;j++)
;
Почему между ними такая огромная разница? Есть ли способ заставить его работать быстрее в PHP
2 ответа
В 15 мс цикл был, вероятно, оптимизирован JIT. Если вы не используете виртуальную машину HipHop, у вашего цикла PHP нет шансов.
Имейте в виду, что производительность жесткого цикла вряд ли отражает относительную производительность в реальном мире с реальной рабочей нагрузкой. Взгляните на игру "Тесты компьютерного языка" - и даже их гораздо более значимые измерения должны быть сделаны с недоверием.
Эти типы микро тестов не должны вызывать беспокойства.
В любом случае этот цикл немного быстрее:
$i = 20000000;
while($i--);
http://benchmarksgame.alioth.debian.org/u32/compare.php?lang=java&lang2=php