webikdddorf
Новичок
PHP большой тормоз?
Давно работаю с PHP. Писал и большие скрипты и маленькие, но сортировкой массивов еще мало работал, такое редко где нужно. Так вот вчера решил я перевести часть mysql запросов на выборку из массива, зачемя, подумал я, делать 2000 запросов к базе, когда можно сделать 10 и потом взять данные из массива PHP. Но не тут то было!!!
Имеем массив в 1000 записей. Записи вида:
1=>2
4=>2
6=>1
3=>9 и т.д. (Кароче Id категории и её parent.)
Вот результаты на мощном боевом сервере(ПО сервера настраивали под заказ, все скрипты там летают, так что сервер ok):
- 0.9 сек.
Слегка доработал
- 0.6 сек.
Я разочарован. Неужели PHP такой тормоз???? Чтобы выбрать ключи из массива с какой-то 1000 записей нужна целая секунда, 0.6???? Пипец. Может я чего-то не догоняю?
Всегда писал скрипты с расчетом на то, что если время генерации более 0.1 секунды это не скрипт, а дерьмо, и всегда выходил из ситуации. Но тут....
Давно работаю с PHP. Писал и большие скрипты и маленькие, но сортировкой массивов еще мало работал, такое редко где нужно. Так вот вчера решил я перевести часть mysql запросов на выборку из массива, зачемя, подумал я, делать 2000 запросов к базе, когда можно сделать 10 и потом взять данные из массива PHP. Но не тут то было!!!
Имеем массив в 1000 записей. Записи вида:
1=>2
4=>2
6=>1
3=>9 и т.д. (Кароче Id категории и её parent.)
Вот результаты на мощном боевом сервере(ПО сервера настраивали под заказ, все скрипты там летают, так что сервер ok):
PHP:
$result = array_keys ($massiv, $parent);
Слегка доработал
PHP:
$result = array_keys ($massiv, (int)$parent);
Я разочарован. Неужели PHP такой тормоз???? Чтобы выбрать ключи из массива с какой-то 1000 записей нужна целая секунда, 0.6???? Пипец. Может я чего-то не догоняю?
Всегда писал скрипты с расчетом на то, что если время генерации более 0.1 секунды это не скрипт, а дерьмо, и всегда выходил из ситуации. Но тут....
А ведь можно уложиться в O(n), используя сильные стороны хэш-таблиц.