пятница, 19 октября 2007 г.

Пластилин

Решая задачу по работе с большими объемами данных в условиях ограниченных ресурсов, я испытал уже хорошо подзабытое ощущение творца, креатора и генератора идей. Многие последние проекты, в которых приходилось участвовать были довольно однотипными, не смотря на то, что принципиально различались по своей сути. Всё равно на уровне данных были одни и те же связи, выборки, передачи массивов в шаблонизатор etc.
Но тут попался трудный орешек. Многоуровневые данные, их необходимо анализировать и выводить текущие показатели, а так же тренды по ним. Скрипты анализа данных просто умирали в условиях шаред-хостинга. Я сижу и пытаюсь решить задачу уже десятым наверное способом, урезая лишние переменные, вынужденно делая unset массивам после использования, эксперементируя со скоростью for и foreach, оптимизирую базу и SQL. И в голове наблюдаю приятное ощущение, что я творец, что у меня есть пластилин (глина, конструктор, дерьмо - выбирайте на вкус :) ) и я могу построить как вавилонскую башню, так и уютный отель на берегу Индийского океана, где я бы сейчас с удовольствием оказался...
*************
Прошло около трёх часов помоему. Согласно тестам - решить проблему удалось. В некоторых местах прирост скорости составил до 20 раз, что не может не радовать конечно. Правда такое ускорение достигалось при полном переосмылении подхода и переписывании процентов пятидесяти кода (в рамках узкой библиотеки разумеется), а не за счёт точечной оптимизации.
PHP как дышло - куда повернул туда и вышло.

Комментариев нет: