April 29th, 2004

souloveme?

[ utx ] Как не надо забывать про логгеры

„Интересно“ — думаю, — „Что это у меня так тормозит ютх с ответом? До безобразия, буквально, тормозит, разве ж можно так?“ По идее, конечно, безумные утки, лочащие базу,[&] портят мне жизнь, но в самом-то скрипте всё должно работать нормально, и в девяноста процентах случаев он должен вылетать без всяких обращений к БД в принципе, вытянув картинку из кэша и вышвырнув её в поток.

Идём смотреть. Видим файл utx_log.txt. Обращаем внимание на то, что его объём достиг скромных тридцати трёх мегабайт. Молча высказываем себе всё, что мы о себе думаем (так как это второй или третий случай уже, и прежде всё решалось банальным echo -n > utx_log.txt вместо того, чтобы поправить код, который эти тридцать три мегабайта нагенерировал). После этого отправляемся переписывать старый скрипт и делаем то, что нужно было сделать много месяцев назад — ставим в имя файла текущую дату.

Оказывается, я не только программирую на пхп со словарём, но и оптимизировать умею только в теории, на уровне технического консультирования клиентов. Такую очевидную (после недельного периода работы логгера накапливается два-три мегабайта) ошибку упустить... Bleh.

Интересно, всё же, как обрабатывается fopen('filename','a') внутри — хочется надеяться, что пхп не открывает всё это содержимое в поисках конца файла... И не менее интересно, почему нету какого-нибудь режима открывания "f", который бы открывал файл на запись и ставил бы указатель в начало, а не в конец — это должно быть (при взгляде со стороны) быстрее. RTFM: "r+".

  • Current Music
    Steve Lawler - Essential Mix 10-05-2003
souloveme?

[ L ] PHP Profiler

  • PHP Profiler
    PHP Class to perform code profiling in order to aid locating areas of code that consume most processing time.

    Provides information on number of calls to a code section, percentage and total of time spent on a section. Timing of nested code sections is possible.

по ссылке sobaker

  • Current Music
    Steve Lawler - Essential Mix 10-05-2003
souloveme?

[ utx ] Волосы, встающие дыбом на голове при изучении написанного

„Интересно, как это вообще всё работает?“

Раз уж залез, перечитываю и подправляю старый вариант „полосатора“. И мне всё больше кажется, что я писал этот код не то, что в пьяном угаре (которого у меня не может быть по определению), и не просто в изменённом состоянии сознания, а... В общем, это вообще какая-то удивительная, неподвластная обычному миру система правил. Удивительно! Словно все законы логики стали иными, и используются как-то иначе.

Collapse )

А на новый код переходить стра-ашно — а ну как не заработает? Всё такое из себя оптимизированно-упрощённое — и не заработает! Запросто ведь. Пойду, посмотрю в новой версии, есть ли этот бредовый ужас, который вдруг сейчас нашёлся. А то ведь по наследству мог только так перейти...

  • Current Music
    Steve Lawler - Essential Mix 10-05-2003