[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сокращение времени выполнения программы
Pingvin
При выполнении скрипта выдаётся «execution time», как это победить, например разбиением одного скрипта на несколько? Разбиение с добавлением ?> <? , только ухудшает. Включение в код программы нескольких «ob_start();» или "ob_clean();" не помогает.



Спустя 11 минут, 23 секунды (20.02.2010 - 15:39) twin написал(а):
Оптимизировать программу надо. Программа, выполняемая дольше секунды - повод для паники.
Но если служебная, то можно set_time_limit()

Спустя 25 минут, 30 секунд (20.02.2010 - 16:04) Pingvin написал(а):
Эта программа довольно оптимальная: для поиска создаётся индексный файл – это делается медленно: ведь надо открыть и закрыть множество файлов для разных языков.

Спустя 3 часа, 10 минут, 26 секунд (20.02.2010 - 19:15) Pingvin написал(а):
После создания каждого индексного файла пришлось делать “ini_set("max_execution_time", "30");”, правда между этими командами echo не работает (так что отсутствует контроль выполнения при длинной задержке), ну да ладно (всего на все индексации требуется 98 секунд и ни чего не выдаётся). Появилась новая ошибка: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32505011 bytes) in XXX.– выдаётся в строке с функцией preg_replace(), где раньше нормально работало. = исправил ошибку, теперь время всей индексации 0.5 секунды, 121 файл.

Спустя 2 часа, 17 минут, 5 секунд (20.02.2010 - 21:32) sergeiss написал(а):
А теперь чуть помедленнее, плз! Индексный файл для чего - для БД? Или это какая-то самопальная эмуляция БД?

Спустя 2 минуты, 47 секунд (20.02.2010 - 21:35) twin написал(а):
Это не хватает памяти, выделяемой на скрипт. Можно попробовать в .htaccess написать
php_value memory_limit 64M
или больше.
А что, set_time_limit() не помогло разве время увеличить?

PS Действительно... Может стоит все таки задуматься о оптимизации?

Спустя 14 часов, 1 минута, 30 секунд (21.02.2010 - 11:36) Pingvin написал(а):
Цитата (twin @ 20.02.2010 - 18:35)
А что, set_time_limit() не помогло разве время увеличить?

"Эту команду я не успел попробовать, исправил ошибку и всё заработало

Спустя 4 минуты, 22 секунды (21.02.2010 - 11:40) Pingvin написал(а):
Цитата (twin @ 20.02.2010 - 18:35)
PS Действительно... Может стоит все таки задуматься о оптимизации?

Полсекунды, а прога сложная - чего тут оптимизировать?

Спустя 3 минуты, 20 секунд (21.02.2010 - 11:44) twin написал(а):
Цитата
Полсекунды, а прога сложная - чего тут оптимизировать?

Ну то факт. Прими поздравления.
Только я о чем с самого начала то говорил - не стоит пытаться насиловать сервер всякими снятиями ограничений. Нужно с программой разобраться.
Вот она работала же у тебя, только долго.
Значит сразу надо было искать почему - оптимизировать. А ты не в ту сторону пошел.

Спустя 6 минут, 3 секунды (21.02.2010 - 11:50) Pingvin написал(а):
Цитата (sergeiss @ 20.02.2010 - 18:32)
А теперь чуть помедленнее, плз! Индексный файл для чего - для БД? Или это какая-то самопальная эмуляция БД?

Самопальная, аналог phprusearch.

Спустя 2 часа, 26 минут (21.02.2010 - 14:16) Pingvin написал(а):
Опять скрипт стал медленно работать (34 секунды) той ошибки нет. Ошибок не выдаёт.
P.S. Второй раз тот же скрипт запустил – 55 секунд.
P.P.S. Я был удивлён, что программа работает так быстро: создаёт шесть индексных файлов за 0,4 секунды.

Спустя 1 час, 27 минут, 5 секунд (21.02.2010 - 15:43) sergeiss написал(а):
А зачем постоянно делать переиндексацию?

Спустя 1 час, 17 минут, 49 секунд (21.02.2010 - 17:01) Pingvin написал(а):
Цитата (sergeiss @ 21.02.2010 - 12:43)
А зачем постоянно делать переиндексацию?

Постоянно не делается, только после большой загрузки данных.

P.S. Выводится информация через echo после завершения скрипта, так как скрипт работает долго – это не удобно для отладки.
P.P.S. Скрипт работает то быстро, то медленно.
P.P.P.S. Оказалось весь комп работает то быстро, то медленно – лечится перезагрузкой.

Спустя 1 час, 58 минут, 8 секунд (21.02.2010 - 18:59) FatCat написал(а):
Pingvin
flush() в помощь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.