我开发了自己的模块(包),例如MyUtils.pm
。
这是一个位于与使用它的main.cgi
相同的文件夹上的文件。然后我将模块与use MyModule;
我认为这有点慢。或者假设有更好的方法。 是否有可能编译模块"并将其包含在perl核心或类似的东西?
如果是,我认为它会加载并运行更快"。
答案 0 :(得分:7)
不要太担心它。加载Perl模块的开销非常低。
如果您的应用程序获得足够的流量,此开销 变得非常重要,那么就该停止使用CGI了 - 启动Perl解释器的开销本身就成了一个问题。考虑将您的网站切换为使用FastCGI(使用CGI::Fast
或Plack::Handler::FCGI
)或mod_perl Apache模块(可能与ModPerl::Registry
一起使用)直接运行CGI脚本,或者与Plack::Handler::Apache2
)。其中任何一个都允许单个进程处理多个连续请求,完全绕过模块加载过程。
答案 1 :(得分:1)
我认为您正在寻找B::Bytecode。
说明
将Perl脚本编译为可加载的字节码格式 稍后由ByteLoader模块执行并作为常规Perl脚本执行。 这为optree解析和编译以及空间节省了时间 内存中的源代码。