Написал скрипт перевода тем из старого формата на новый - в некоторых старых темах оказались ранее не замеченные ошибки в html разметке, так что новый формат темы позволяет более наглядно оценить тему. Старый формат по прежнему поддерживается. Задумался о переводе адресации всех шаблонов с древовидной на плоскую адресацию. Всего, как оказалось, в движке используется 83 шаблона, на настоящий день. Мне раньше казалось, что гораздо больше. Это абсолютно все шаблоны. На мой взгляд это даже мало, так как подавляющее большинство шаблонов мелкие и состоят всего из одной строки. Сейчас шаблоны организованы в дерево шаблонов, а внутри это вложенные ассоциативные массивы. Вложенные массивы дадут отличную производительность, если бы суммарное количество всех элементов было несколько сотен. При таком же числе, как сейчас (83) дерево (то бишь вложенные массивы) не дадут сколь нибудь заметного ускорения. Возникала мысль сделать одноуровневый массив с ключами как в формате новой темы, например "content.post.filelist.image". В результате не нужно будет делать проход по вложенным массивам, что даже положительно скажется на скорости.

Есть еще один мотив для подобного перехода - планируется сделать продвинутый редактор темы, где через админку можно будет отредактировать любой мелкий шаблон. Чтобы легко можно было добраться до любого шаблона проще было бы в плоской адресации. Решено, буду переделывать на плоскую нотацию. Такая переделка никак не затронет остальные работающие части движка, так как меняется структура внутренних данных, которые были всегда скрыты от внешних классов.

Делал тесты скорости генерации страницы. Пришел к интересным выводам. Например загрузка данных из файлов примерна равна скорости запросов к бд и в и составляет всего10% от всего времени. Половина времени уходит на загрузку php скриптов средствами php - скорее всего время тратится на парсинг php кода, но факт остается фактом - половина времени. Остальная часть тратится на само исполнение скриптов, то есть работу движка. Можно попытаться несколько уменьшить время загрузки скриптов, например объединив несколько мелких файлов в один. Также любопытно выяснить, где больше всего тратится времени, но это знание вряд ли существенно поможет оптимизации.