Есть несколько скриптов для мониторинга системы с помощью rrdtool. Скрипты написанны на perl(за основу были взяты скрипты из rrdmonitor - fronend-a к rrdtool). Cхема там такая: каждый маленький скрипт опрашивает один из компонентов(нагрузка сети, число пользователей в системе и т.п.) и заносит данные в базу rrd. Все эти скрипты вызывались из одного shell-скрипта, который запускался из cron.
Я решил оптимизировать эти скрипты. По идее из при вызове из shell-скрипта каждый раз запускается отдельный интерпретатор perl, который выполняет свой маленький скрипт. Я скопировал все маленькие файлики в один большой perl-скрипт. Я подумал, что:
- неоптимально тратить время на создание и уничтожение каждой копиии интерпретатора perl для работы всех этих маленьких скриптов
- только один раз объявляются общие для всех скриптов переменные и выполняются общие команды(такие как определения хоста).
Я сильно удевился когда после моей "оптимизации" скрипт начал работать в полтора раза медленее:
time ./cmd.sh
real 0m0.327s
user 0m0.127s
sys 0m0.119s
time ./base-all.pl
real 0m0.514s
user 0m0.308s
sys 0m0.121s
Не мог бы кто-нибудь объяснить мне почему? Где я в своих выводах ошибся?
Ответ на:
комментарий
от unDEFER
Ответ на:
комментарий
от ananas
Ответ на:
комментарий
от aleksey_t
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Сценарий bash (2022)
- Форум bash-сценарий (2005)
- Форум выполнение сценариев cgi? (2005)
- Форум РАЗРАБОТКА СЦЕНАРИЕВ BASH (2018)
- Форум nodejs скорость выполнения (2014)
- Форум Скорость выполнения тестов (2018)
- Форум Perl & bash (2001)
- Форум perl+bash (2003)
- Форум perl---->bash (2006)
- Форум bash параллельное выполнение (2019)