Пришла в голову очередная оптимизация; не понимаю пока, будет работать или нет.
e2 сейчас уже довольно прилично тормозит — иногда генерит страницу по 0,15-0,2 сек. Причина тормозов пришла откуда не ждали: очень много времени уходит на то, чтобы просто пропарсить core.php, который уже почти 200 килобайт весит. Разбивать всё это на много файлов — будет ещё больше тормозов, т. к., как мы уже проходили, сильно тормозит include. Собственно, поэтому я и стал всё собирать в единый файл.
Значит, нужно как-то сделать так, чтобы для генерации каждой страницы парсилось только то, что нужно. Но как это сделать?
Идея такая. Ведь просто тупое считывание 200 КБ не может быть долгим, так? Тормозит, потому, что это парсится всё. А что, если мы эти 200 КБ разобъем на функциональные куски (ФК), каждый из них сделаем просто строкой, но оставим в одном файле, а при вызове функции из нужного ФК, будем вместо include’а эту строку eval ()’ить? Если это сработает, то можно пойти дальше: запихать разные ФК прямо в реестр, который мы всё равно считываем. Тогда ещё на один include меньше будет.
Или ерунда? Аргументы приветствуются.
Update: Bolk говорит, eval () работает медленнее, чем include. Ну, а что ещё можно с этим сделать?