PHP - це архітектура, що не має спільного доступу. Це має свої переваги та недоліки.
Одним недоліком є те, що зробити щось подібне непросто. Існує не так багато стану, яке можна десь зберігати.
Я зробив кілька швидких тестів, і коли увійшов у систему, тоді, здається, завантаження займає близько 17% від загального часу і більше 50%, що фактично завантажує всі файли .module та .inc. Це не те, що можна зберігати в пам’яті. Крім того, це не має великого значення, якщо я використовую memcache або кеш бази даних.
Я намагався отримати деякі результати, коли ввімкнено кеш сторінки, але, здається, Xhprof не повертає надійних результатів; вся справа просто здається занадто швидкою. Але навіть тоді найбільша частина полягає у виконанні гачків init / exit та завантаження файлів, схоже. Я знайшов там цікаву проблему: схоже, що Модуль користувача серйозно сповільнює відповідь кешованої сторінки, оскільки він запускає реєстр через контролер сутності у файлі .module.
З цього приводу Девід Строс показав експериментальну роботу в Копенгагені, де він створив знімок пам’яті після завантаження, а потім повернувся до того, коли сторінку було розміщено. Він використовував Drupal 6 для цього. Переглянувши цифри вище, я думаю, що підвищення продуктивності від цього в Drupal 7 буде зовсім меншим. Однією з причин цього є те, що підключення до бази даних ледаче завантажене (І ви можете отримати досить далеко в завантажувальному інструменті, використовуючи, наприклад, Memcache, перш ніж вам потрібно буде виконати перший запит), і є багато кешованого.
Що дійсно погано в Drupal 7, це шар візуалізації з цими величезними масивами та нескінченними рекурсіями та циклами. Це майже скасовує всю роботу над виконанням, яка потрапила в Drupal 7. Давайте подивимось, як це виглядає в Drupal 8, якщо Twig зробить його основним.
Нарешті, про згадані переваги. Однією з великих переваг є те, що витік пам'яті є неактуальним, оскільки все звільняється після кожного запиту. Я бачив багато програм Java, де використання пам'яті постійно збільшується і потребують регулярних перезавантажень.