Perl是很不错写CGI的语言工具,但怎样才能提高运行速度呢?下面是我的一些小经验:
1.如果是大程序,一定要库的方式,因为库是提前编译的(跟require不同)而且库可以只提供你所需要的子程序,不像require全部包含了。
2.子程序的调用一定要用&xxx的方式,不要用省略的xxx调用方式,因为这样会造成解释上的影响(有时还有些怪现象)。
3.不要使用软引用,这是个非常重要的问题,因为如果在mod_perl方式下软引用保证是不能正常运行的。
4.调用库函数里,(如CGI.pm )一定要用加上名字空间的说明,如&CGI::start_html , &CGI::end_html等等,不要用省略的start_html,end_html方式。
因为如果要把PERL真正地实际应用,不用mod_perl运行方式,是不可能的。如果你写的PERL不符合上面的要求,也不能在mod_perl下安全正确地运行了。
我做了个测试,在不改变代码的情况下,同一个程序(有数据库查询操作),如果用一般的CGI运行方式,处理100个的访问,用了89秒.
如果用mod_perl运行方式,处理100个的访问,只用了10!秒.速度的差别不用我说了。
BTW:测试机Pentium 586/166 32M