Ещё одна статейка по теме:
<!--quoteo--><div class='quotetop'>Цитата</div><div class='quotemain'><!--quotec-->Коротко о главном:
<u>файл изменений между 2.2.2 и 2.3.0 RC - 573kb, 5213 строк.</u>
Изменения коснулись системы шаблонов, теперь они банановые, теперь они гибче кэшируются. Если раньше в некоторых местах подключалось от 3-х до 4-х различных шаблонов (все шаблоны, со всеми элементами полностью грузились в память!), то теперь достаточно одного шаблона, благодаря тому, что кеш элементов можно назначать нескольким шаблонам.
На самом деле это экономия на спичках и основное увеличение по скорости и памяти они сделали, убрав profile класс из просмотра тем, мессенжера, списка пользователей.
Ура, товарищи, таскание объекта профиля в таких ресурсоемких местах не просто, ахуен, а очень сильно снизило нагрузку и загрузку ЦП и ОЗУ
Ну и наконец они научились работать с памятью. Одним из самых проблемных мест в движке IP.Board линейки 2.х была работа с объектами классов. 2.2.х замечательным образом научился работать на PHP 5, который не прощает просчетов в ООП, ну и кроме того он (пэхапэ) обладает “Memory limit is now always enabled”, а объект это такая замечательная херь, которая может быстро кушать память, приводя к ошибке о нехватке той самой памяти.
<b>Как было раньше?</b>
Раньше на каждый чих создавался объект, при этом объект мог создаваться даже если он в системе уже был. Глупый пример показывающий весь масштаб трагедии: представьте что было бы если перед каждым запросом создавался объект класса драйвера базы данных.
<b>Как стало сейчас?</b>
Сайчас прежде чем создать объект, подключить язык или стиль, проверяется его наличие в системе. Такими темпами ребята дойдут до паттерна Register =) и реализуют нормальный контекст приложения. Но это в будущем, сейчас они сделали большой шаг вперед по качеству кода, пусть код стал насыщеннее и тяжелее, но зато он стал стабильнее и оптимальнее. Думаю, что в скором времени будут максимально эффективно использовать передачу переменных по ссылкам, да и вообще использовать ссылки больше и лучше.
<b>Теперь вопрос почему 2.3.0, а не 2.2.3.</b>
В обморок падать не надо, все совместимо. Моды от 2.2.2 без изменений будут работать и на 2.3.0, по сути имеем ситуацию аналогичную переходу с 1.2 до 1.3. Про стили не выяснял, но думаю что ситуация аналогична модам, специалисты поправят, если не прав =)
Почему же 2.3.0? Во-первых, добавлена новая система ремаппинга стилей, объяснять не буду, увидите сами, штучка забавная, но в 70% бесполезная. Во-вторых, оптимизация скрипта это тоже фича, которую просто после второй точки отражать было бы обидно, ибо работу проделали объемную, результаты получены положительные.
Ну и как итог словоблудия…
2.3.0 станет в линейке 2.х.х, чем то вроде 1.3, в линейке 1.х.х. Хотя будут версии и лучше<!--QuoteEnd--></div><!--QuoteEEnd-->