Что-то тормозит в смарти...

al_mt

Новичок
Здравствуют все!

Вопрос по смарти :(

Есть у меня страница формируемая смарти. Тормозит жутко!
Поскольку там много обращений к БД, то грешил понятно на кривизну запросов, а потом сделал то, с чего следовало начинать - фиксирую таймеров выполнение различных участков кода...
И увидел, что из 28 секунд грузимости страницы - 26 уходит на смарти %)
Это ладно :)

Но при дальнейшем исследовании обнаружилось, что если эту страницу непрерывно обновлять (просто сидел и жал F5), то время исполнения $this->smarty->display("Index.tpl"); плавает от 30 секунд до 0,1 !!!!!!!!!!!!!!! *CRAZY*

Кто-нибудь может объяснить эдакий "стук в подполе"?
 

baev

‹°°¬•
Команда форума
Есть у меня страница формируемая смарти. Тормозит жутко!
Поскольку там много обращений к БД,
— откуда в шаблоне обращения к БД?

P.S. Тьфу, блин...
очередной диггер.
 

al_mt

Новичок
кто диггер? =)

в шаблоне, конечно нет :) у меня сначала готовятся данные на php, а потом вызывается шаблон :) я просто думал, что это тормозит php, а оказалось - смарти :(

но то, что тормозит - полбеды. Почему он то тормозит, то нет? Я в лёгком изумлении :(
 

StUV

Rotaredom
al_mt
не нужно воспринимать правила форума настолько буквально и постить свои траблы в топы полуторагодовалой давности

-~{}~ 29.05.08 17:06:

phpfaq.ru/debug
что еще можно сказать... ;)

-~{}~ 29.05.08 17:08:

Но при дальнейшем исследовании обнаружилось, что если эту страницу непрерывно обновлять (просто сидел и жал F5)
открой для себя .../apache/bin/ab -h
 

AmdY

Пью пиво
Команда форума
ещё можно попробовать попользоваться xdebug, apd
 

al_mt

Новичок
Да... Проблема пропала, когда я вместо include тупо повставлял код соответствующих файлов %)
 

AmdY

Пью пиво
Команда форума
30 секунд из-за инклудов, да не может быть.
 

al_mt

Новичок
Я тоже удивлён :(
У меня есть такое подозрение, что у смарти возникают сложности, когда есть несколько последовательных вложений с foreach`ем %)

Понятно, что в здравом уме так код не пишется - это результат оргпричин :) Но вот...
 

HraKK

Мудак
Команда форума
В смарти написано БОЛЬШИМИ ЧЕРНЫМИ БУКВАМИ не используйте вложения в конструкции {section}{foreach}
 

al_mt

Новичок
Что такое конструкция {section} ?? Ни разу не использовал...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
al_mt
Открой для себя мануал.
smarty.php.net
 

HraKK

Мудак
Команда форума
al_mt
Заблуждаешся.
ЗЫ Я не про Quicky.
Native PHP, blitz, etc.
 

phprus

Moderator
Команда форума
WP
Да? Цифры и код тестов в студию. А то что-то очень сильно не верится...
 

fixxxer

К.О.
Партнер клуба
тут все сильно зависит от того, как использовать квики и как использовать blitz ;)
в случае двух вызовов $T = new Blitz('file'); echo $T->parse($set); я очень сомневаюсь, а если куча всяких block() и callbackов - то запросто конечно...
 

fixxxer

К.О.
Партнер клуба
ну давай для чистоты эксперимента заранее посчитаем твой $var и тупо проинклюдим компиленный шаблон ;)

интересный кстати будет эксперимент
 

WP

^_^
Суть в том что логика в blitz вынесена в скрипт делающий $set, и это тоже надо учитывать. Т.е. запускать скрипт и тестировать его, а не кусок кода который рендрит непосредственно.
 
Сверху