Jun 25
Насколько php устойчив к обработке больших объемов данных, убедился за последние 2 недели. Имели место быть 2 случая.
1) Есть файлик объемом 250 Mb в нем чуть более 11 000 000 строк, нужно считать содержимое в переменную. И далее распарсить по строкам в массив. И шо вы думаете, php не смог выполнить данную работу, выпал в ошибку.
2) Второй случай еще более дикий, т.к. работа не была сделана, и никакого предупреждения об ошибке не напечатано. Функция preg_match_all не отработала, а точнее сказать выдала пустые результаты, на сравнительно небольшом объему данных. Данные состояли из 1 000 ссылок, <a href=”url-20″ alt=”alt-8″ title=”title-7″>txt-10</a> примерно 80 000 символов.
Теги: php, Грабли, программирование
RSS подписка
Email подписка
July 15th, 2009 at 10:41 am
Что же такое страшное ты делаешь?
September 30th, 2009 at 11:18 am
Не хочу тебя обижаь, но неужели ты думаешь, что это нормально считывать 250 метровый файл в память и там его парсить? Я обрабатывал 750 метровые файлы на PHP без особых проблем.
К тому же preg_match и вообще работа с регулярками довольно медленное занятие. Если оно не справляется, сделай file, а потом array_walk
Не надо винить молоток, за то, что им шурупы заворачивать неудобно
October 9th, 2009 at 4:39 am
250 метров за 1 заход.. гы
Построчно считывать такие данные надо. Построчно…
Какая ошибка кстати была?
October 23rd, 2009 at 4:44 pm
Ну так не мои это скрипты были.
А php виноват, в настройках ему дано было использовать всю память, это 8 Гб.
А во втором случае считаю что должен был хоть какую то ошибку выдать, а он скромно промолчал, как будто ничего не было.