编译我自己的模块?

时间:2014-08-08 03:58:54

标签: perl

我开发了自己的模块(包),例如MyUtils.pm。 这是一个位于与使用它的main.cgi相同的文件夹上的文件。然后我将模块与use MyModule;

一起使用

我认为这有点慢。或者假设有更好的方法。 是否有可能编译模块"并将其包含在perl核心或类似的东西?

如果是,我认为它会加载并运行更快"。

2 个答案:

答案 0 :(得分:7)

不要太担心它。加载Perl模块的开销非常低。

如果您的应用程序获得足够的流量,此开销 变得非常重要,那么就该停止使用CGI了 - 启动Perl解释器的开销本身就成了一个问题。考虑将您的网站切换为使用FastCGI(使用CGI::FastPlack::Handler::FCGI)或mod_perl Apache模块(可能与ModPerl::Registry一起使用)直接运行CGI脚本,或者与Plack::Handler::Apache2)。其中任何一个都允许单个进程处理多个连续请求,完全绕过模块加载过程。

答案 1 :(得分:1)

我认为您正在寻找B::Bytecode

  

说明

     

将Perl脚本编译为可加载的字节码格式   稍后由ByteLoader模块执行并作为常规Perl脚本执行。   这为optree解析和编译以及空间节省了时间   内存中的源代码。