Посоветуйте-ка мне, что лучше: а) хранить в памяти тело класса, eval'ить его и создавать его инстанцию или б) хранить на диске, создавать инстанцию, сериализовывать объект, запихивать его в память, потом по мере необходимости доступа к нему доставать из памяти и десериализовывать?
хранить в памяти сериализованный класс и по мере необходимости десериализовывать. eval вроде медленее должен быть. еще, как вариант - хранить откомпилированные шаблончики в таблице типа memory базы данных.
Simpliest откомпиллированный шаблон != сгенерированный блок. Просто у меня кеш шаблонов выглядит примерно так PHP: <?php class CachingTemplate_akskkwiwidujnsnsmskskdjsjsn extends TemplateSystem { public function __construct(TemplateContext $context) { $this->context = $context; } public function render() { echo "<ul>" ${133} = (isset($context['foo'])) ? ((is_array($context['foo'])) ? $context['foo'] : array()) : array(); foreach (${133} as $bar) echo "<li>$bar</li>" echo "</ul>" } } DarkElf о, спасибо. Вообще лучше потестить это дело, ну посмотрим. Про memory тоже интересно, поищу че-нить на эту тему.
А, ну, да. Я забыл что вы страдаете маразмом Смарти-шаблонов... Но я всеравно не понимаю... Как выглядит твой скомпилированный и нескомпилированный шаблоны... Зачем тебе их сериализовать? AFAIK html страница не сериализуется Не надо... БД это одно из самых узких мест при масштабировании. Поэтому лишнего туда не пихаем.