Оптимизация кода на php. Скорость выполнения скрипта.

Статус
В этой теме нельзя размещать новые ответы.

MegO

Постоялец
Регистрация
13 Фев 2009
Сообщения
130
Реакции
13
Из-за специфики задания пришлось уделять особое внимание скорости выполнения скрипта. Почитал пару статей про оптимизацию кода.

Для просмотра ссылки Войди или Зарегистрируйся

Время выполнения скрипта занимает порядка 0,4 сек. Речь идёт о динамическом сайте и такое время загрузки негативно скажется на индексировании.

Операции которые портят производительность в моём скрипте следующие: Чтение из текстового файла(с >2000 строк начинаются проблемы) и регулярные выражения, но это не так критично.

Чтение происходит из файла построчно, строка проверяется и добавляется массив.

А теперь собственно вопрос. Есть какие то более быстрее методы чтения из тектовых файлов? Или лучше попытаться заменить их БД (Не желательно).

Вообщем интересуют любые советы которые помогут ускорить работу скрипта.
 
Время выполнения скрипта занимает порядка 0,4 сек. Речь идёт о динамическом сайте и такое время загрузки негативно скажется на индексировании.
Это смешно: 0.4 секунды - вообще не время.
Да и про индексацию ерунда написана.
 
Переносите текстовый файл в MySQL и работайте с ним.
Раньше тоже баловался с текстовыми файлами, но как бы стращно это не было - всё равно рано или поздно перейти прийдётся, но лучше рано чем поздно ;)
 
Поидее с базой MySQL работать проще чем с файлами, но иногда приходится и с файлами. Лучше как сказал OnArs, переноси в MySQL.
 
Не надо ничего менять. 4 десятых секунды - это, можно сказать, мгновенное выполнение скрипта.
Для небольшого ускорения (если файлы не огромные), можно читать файл целиком в массив или строку и затем обрабатывать.
Использование БД не всегда панацея/разумно/необходимо.
 
Если бы время было 4 секунды, то был бы смысл какие-то телодвижения делать. А так - Вы хотите сказать, что большие каталоги продукции не индексируются поисковиками?))Там время может и 1.5 секунды быть))Не несите бред =)
 
Время выполнения скрипта занимает порядка 0,4 сек. Речь идёт о динамическом сайте и такое время загрузки негативно скажется на индексировании.
Вообще то это очень хороший показатель.

А теперь собственно вопрос. Есть какие то более быстрее методы чтения из тектовых файлов? Или лучше попытаться заменить их БД (Не желательно).

Вообщем интересуют любые советы которые помогут ускорить работу скрипта.
Из файлов напрямую всегда будет быстрее нежели из базы
Оптимизацией имеет смысл начать заниматься при времени генерации страницы от 2 сек, а там уж и xdebug и прочие вещи ...
 
Читать полностью в массив файл быстрее в 2 раза. Протестировал сам и где было можно это реализовал.
Много сказали, а по вопросу ответов мало. Не надо писать ответы типо "0.4 это ерунда". Да может быть и не много, но я хочу чтобы всё было оптимально. 0.4 это на сервера. На моём компьютере время затягивается. Было и 20 сек при большом файле.
Пока размер файла ограничен порядка 3000 строками, в данном случае результать удовлетворительный, но если понадобиться его увеличить время выполнения вырастет до нескольких секунд.
Вообщем будут конкретные советы? Не надо акцентировать внимание на цифру 0.4. Просто советы, на будущее :)

Кто нибудь пробывал использовать для обработки файлов COM написанный на c++ например?
Оптимизаторы (Zend например) существенно скоращают время выполнения? Я думаю что на файлы это не повлияет.
 
0.4 это на сервера. На моём компьютере время затягивается. Было и 20 сек при большом файле.
20 секунд тоже не смертельно. Да и на сервере всегда будет выполняться быстрее, чем на рабочем компе.

Много сказали, а по вопросу ответов мало
Какой вопрос, такой ответ. Данных никаких, кроме "я хочу".

Время выполнения сокращают не "Оптимизаторы (Zend например)", а кэши опкода. И сокращает его ровно на время компиляции скрипта. Если алгоритм скрипта хреновенький, это особо не поможет.

Если файлы читаются часто, имеет смысл держать их в памяти.

Если регулярками обрабатываются все строки, нет смысла читать в массив и затем его обходить.

Если обрабатываются только строки с какими-либо признаками, можно, думать о использовании БД вместо файлов.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху