Новости сайта

Оптимизация кода

 
Изображение пользователя Евгений Викторович Арбатский
Оптимизация кода
от Евгений Викторович Арбатский - Среда, 23 Июнь 2010, 21:31
 
Потребовалось мне сегодня провести анализ первичных данных по работе ИС для исследования. За год накопился объем примерно в 10млн. записей на 2Гб. Написал скрипт для обработки с помощью regex-парсинга, запустил и через полчаса понял что как-то медленно работает все, провел анализ и выяснил что парсинг одной записи занимает в среднем 0.06 секунды, то есть 100 записей обрабатывалась за 5-6 секунд. Простой расчет показал что результат я получу где-то через 5-7 дней. Это меня не устроило и пришлось переписать фрагмент (вернее одну строку кода с regex) на более сложный (14 строк кода с анализом всей строки записи) - это привело к ускорению, а именно: 1000 записей стали обрабатываться за 2 секунды (если верно запомнил), то есть результат получу через 5-6 часов.

На небольшом объеме в 1-100тыс. строк и не стоило бы думать об оптимизации, а вот на больших каждая миллисекунда выливается в часы и дни экономии.

P.S. Сейчас все еще больше усложню - закину эти данные в MySQL и попробую его заставить обработать весь массив как мне нужно