LINUX.ORG.RU

Ответ на: комментарий от KRoN73

Smarty не кешируется опкод кэшерами. То есть вообще. Если у тебя pure php-шаблоны, то apc, eaccel и прочие закешируют и будет прирост, со смарти производительносьт возрастает очень незначительно. Это как один из серьёзных минусов.

kkw
()
Ответ на: комментарий от KRoN73

> Зачем писать Python на Си и вызывать его из Си, когда можно просто использовать Си?

Неверная аналогия. Питон из Си дёргают, когда нужны абстракции выскоих порядков и быстро (здесь и сейчас). Смарти же не даёт никаких преимуществ в этом плане над чистым пыхом.

kkw
()
Ответ на: комментарий от kkw

>Smarty не кешируется опкод кэшерами. То есть вообще.

Да ладно. С чего вдруг, когда этот тот же голый PHP, цепляемый include'ами?

>Если у тебя pure php-шаблоны, то apc, eaccel и прочие закешируют и будет прирост, со смарти производительносьт возрастает очень незначительно.


Что со Смарти, что без него - прирост в 4-6 раз.

KRoN73 ★★★★★
()
Ответ на: комментарий от kkw

>Неверная аналогия. Питон из Си дёргают

Неверно понял аналогию. Тогда по-твоему, PHP должны из Смарти дёргать (и дёргают, когда «нужны абстракции выскоих порядков») :)

А если сравнивать применение Смарти перед PHP - то это то же самое, что любой скриптовый язык перед Си. Дёргают его когда нужно писать быстро и просто.

KRoN73 ★★★★★
()
Ответ на: комментарий от kkw

>Smarty не кешируется опкод кэшерами.

Нарочно посмотрел сейчас вывод apc_cache_info();

...
            [37] => Array
                (
                    [filename] => /home2/balancer.ru/htdocs/cache/system/smarty-templates_c/%%53^536^536D60C3%%page.html.php
                    [device] => 2051
                    [inode] => 14141352
                    [type] => file
                    [num_hits] => 22742
                    [mtime] => 1245632881
                    [creation_time] => 1245904795
                    [deletion_time] => 0
                    [access_time] => 1246448853
                    [ref_count] => 0
                    [mem_size] => 1329
                )
...

            [57] => Array
                (
                    [filename] => /home2/balancer.ru/htdocs/cache/system/smarty-templates_c/%%02^024^024EB691%%_header.html.php
                    [device] => 2051
                    [inode] => 14755686
                    [type] => file
                    [num_hits] => 4380
                    [mtime] => 1246044486
                    [creation_time] => 1246044488
                    [deletion_time] => 0
                    [access_time] => 1246448502
                    [ref_count] => 0
                    [mem_size] => 74222
...

           [500] => Array
                (
                    [filename] => /tmp/bors-cache/smarty-templates_c/%%BE^BE2^BE20F0F9%%main.html.php
                    [device] => 12
                    [inode] => 33318902
                    [type] => file
                    [num_hits] => 5
                    [mtime] => 1246330827
                    [creation_time] => 1246338188
                    [deletion_time] => 0
                    [access_time] => 1246438918
                    [ref_count] => 0
                    [mem_size] => 1694
                )
...

:)

KRoN73 ★★★★★
()
Ответ на: комментарий от kkw

Может ты кеширование шаблонов в Смарти не включал ;) Тогда он, безусловно, будет мегатормозом... При каждом обращении шаблон компилить...

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Может ты кеширование шаблонов в Смарти не включал ;) Тогда он, безусловно, будет мегатормозом... При каждом обращении шаблон компилить...

Не я, а ребята из apache foundation :) Они, я полагаю, всё правильно включали.

kkw
()
Ответ на: комментарий от kkw

>Не я, а ребята из apache foundation :) Они, я полагаю, всё правильно включали.

Ну, ты видел сверху. Смарти-опкод кешируется. И было бы очень странно, если бы было иначе. Выходит, что-то ребята напутали.

Я же говорю, у меня шаблонизатор - произвольный. И я одно время, без тестов уверовав в тормоза Смарти, начал самые критичные места делать под чистым PHP. А потом отбенчил, наконец, и увидел, что разница - очень невелика. Что на неакселерированном PHP (на одном из хостов и такое есть), что на eaccelerator, что на apc. На других не бенчил :)

На средне-типовых шаблонах проигрыш Smarty, как я уже говорил, составляет 10-20%. Да, проигрыш именно суммарный по общему времени генерации страницы, включая типовые запросы, а не только в вопросе насыщения шаблона. В рендеринге в этом случае он и до 50%, наверное, проигрывать может. Тожно будет как-нибудь измерить.

В отдельных случаях (когда логика представления очень сложная и требует массы вычислений) проигрыш Смарти велик. До 2-3 раз. Но в этом случае на нём и писать становится сложно, и шаблон сразу делается на PHP. Но это бывает очень редко, раза два только такое было. Например, на одном из проектов так сложные таблицы с параметрами генерятся.

А, вообще, поскольку у меня замена шаблона со Смарти на произвольный - это допись одной строчки в классе, то я нередко в критичных местах отлаживаю класс и представление на Smarty и уже готовый шаблон переписываю на PHP. В итоге получается и быстрее в плане разработки, и удобнее. А 10-20% скорости иногда бывают нелишними :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.