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
战鹰 回复于:2002-12-30 18:21:56
认为perl的速度不如php和asp是错误的,后两者都是依靠嵌入服务器来实现速度的提高的,而mod_perl的诞生实际上比php/asp要早多了!速度上一点也不落后!
itisok96 回复于:2003-08-15 19:17:17
测试机器太落后了,内存的影响很大
|