Я тоже недоумевал, почему время инициализации PDO было ~1.03 сек. Это же пипец как долго! Потом "localhost" заменил на "127.0.0.1" и стало 0.0025429725646973 сек. Похоже, действительно на Windows 10 (denwer) служба DNS разрешения имён настолько тормозная. Спасибо! Теперь буду знать это нюанс.
Почитал этот пост. Провёл те же эксперименты на моноблоке Lenovo: Core i5/4Gb win10x64,
apache 2.4, php 5.6
smarty-3.1.33, twig-2.x
У меня получилось по тестам:
1) вывод переменных (10000) - смарти быстрее на 22% (~0.026 сек.), компиляция по времени одинаково (~3.6 сек).
2) работа циклов (100x10) - смарти быстрее в 2,75-4,67 раза (~0.009-0.004 сек.), компиляция быстрее в 1,7 раза (~0.178 сек.).
3) наследование (цепочка из 100 шаблонов) - смарти быстрее на 40% (~0.05 сек.), но компиляция медленнее в 2 раза (6.7 сек.).
Т.е. смарти проигрывает только в компиляции многоуровневых шаблонов в 2 раза, но это больше академический тест, т.к. обычно есть родитель, к которому подключены несколько дочерних шаблонов (т.е. 2-3 уровня всего), а в тесте была цепочка из "вложенных" друг в друга 100 шаблонов, что крайне редко.
Да и синтаксис у смарти выглядит проще. В общем, нужно смотреть на предполагаемую посещаемость и загрузку сайта, а также частоту обновления контента (страниц), что может приводить к частой перекомпеляции. Так же оговорюсь, что тест повторил на локальном компе с медленным HDD, но на реальном сервере с SSD всё намного быстрее. Поэтому по хорошему сравнение производительности надо проводить на хостинге. Вот такие пирожки.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.