Smarty не кешируется опкод кэшерами. То есть вообще. Если у тебя pure php-шаблоны, то apc, eaccel и прочие закешируют и будет прирост, со смарти производительносьт возрастает очень незначительно. Это как один из серьёзных минусов.
> Зачем писать Python на Си и вызывать его из Си, когда можно просто использовать Си?
Неверная аналогия. Питон из Си дёргают, когда нужны абстракции выскоих порядков и быстро (здесь и сейчас). Смарти же не даёт никаких преимуществ в этом плане над чистым пыхом.
>Smarty не кешируется опкод кэшерами. То есть вообще.
Да ладно. С чего вдруг, когда этот тот же голый PHP, цепляемый include'ами?
>Если у тебя pure php-шаблоны, то apc, eaccel и прочие закешируют и будет прирост, со смарти производительносьт возрастает очень незначительно.
Неверно понял аналогию. Тогда по-твоему, PHP должны из Смарти дёргать (и дёргают, когда «нужны абстракции выскоих порядков») :)
А если сравнивать применение Смарти перед PHP - то это то же самое, что любой скриптовый язык перед Си. Дёргают его когда нужно писать быстро и просто.
>Не я, а ребята из apache foundation :) Они, я полагаю, всё правильно включали.
Ну, ты видел сверху. Смарти-опкод кешируется. И было бы очень странно, если бы было иначе. Выходит, что-то ребята напутали.
Я же говорю, у меня шаблонизатор - произвольный. И я одно время, без тестов уверовав в тормоза Смарти, начал самые критичные места делать под чистым PHP. А потом отбенчил, наконец, и увидел, что разница - очень невелика. Что на неакселерированном PHP (на одном из хостов и такое есть), что на eaccelerator, что на apc. На других не бенчил :)
На средне-типовых шаблонах проигрыш Smarty, как я уже говорил, составляет 10-20%. Да, проигрыш именно суммарный по общему времени генерации страницы, включая типовые запросы, а не только в вопросе насыщения шаблона. В рендеринге в этом случае он и до 50%, наверное, проигрывать может. Тожно будет как-нибудь измерить.
В отдельных случаях (когда логика представления очень сложная и требует массы вычислений) проигрыш Смарти велик. До 2-3 раз. Но в этом случае на нём и писать становится сложно, и шаблон сразу делается на PHP. Но это бывает очень редко, раза два только такое было. Например, на одном из проектов так сложные таблицы с параметрами генерятся.
А, вообще, поскольку у меня замена шаблона со Смарти на произвольный - это допись одной строчки в классе, то я нередко в критичных местах отлаживаю класс и представление на Smarty и уже готовый шаблон переписываю на PHP. В итоге получается и быстрее в плане разработки, и удобнее. А 10-20% скорости иногда бывают нелишними :)