我正在开发一些CGI脚本,我正在尝试找到一种解决方案,以减少使用"use"导入大量模块时产生的"开始时间".
更新:
提供的解决方案很不错,但我正在使用的脚本在控制台和CGI模式下运行,检查是否存在一些典型的HTTP环境变量.
在"控制台模式"中,它们"正常"转储数据,在"html模式"下,它们进行一些实时替换并将其他HTTP标头发送到客户端.
我想在两种情况下改善启动时间.
考虑使用CGI :: Fast来启动一个perl进程来处理多个请求.我花了很少的精力将一些大的CGI脚本改为CGI :: Fast.与mod_perl不同,在托管站点上运行CGI :: Fast非常容易,因为你可以在不重启Apache的情况下重启你的脚本(至少那是我要求mod_perl时我的主机告诉我的内容).
如何使用mod_perl来运行你的程序?
确保这实际上是你的瓶颈
只导入您需要的模块
确保您不必搜索数以千计的地方来查找它们
考虑让昂贵的启动过程运行得很热(例如作为守护进程)并使用较轻的CGI脚本来启动它们
查看各种加速器,而不是从shell执行完整的CGI(取决于您用于提供页面的内容).