如何加速我的Perl程序?

这是真的两个问题,但他们是如此相似,为了保持简单,我想我只是把他们在一起:

>首先:给定一个已经建立的Perl项目,什么是一些体面的方式来加速它,而不仅仅是简单的代码内优化?
>第二:当从头开始在Perl中编写程序时,有什么好的方法可以大大提高性能

对于第一个问题,想象你被一个写得很好的项目,你需要提高性能,但是你似乎不能通过重构/优化获得大量的收益。你会做什么来加快它在这种情况下,重写它在类似C?

请不要使用一般优化技术,除非它们是Perl专用的。

我早些时候问了这个问题,我认为这对其他语言很有用(我特别好奇,如果有对于Perl的psychopyrex的推论)。

解决方法

请记住优化俱乐部的规则:

>优化俱乐部的第一条规则
是,你不优化。
>优化俱乐部的第二条规则是,你不优化而不测量。
>如果您的应用程序运行速度比底层传输协议快,则优化结束。
>一次一个因素。
>没有刺青,没有刺青时间表。
>测试将继续,只要它有。
>如果这是你在Optimization Club的第一个晚上,你必须写一个测试用例。

因此,假设你实际上有工作代码,在Devel::NYTProf下运行你的程序。

找到瓶颈。然后回到这里告诉我们他们是什么。

如果你没有工作代码,让它工作第一。你将做的最大的优化是从非工作到工作。

相关文章

忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关...
bless有两个参数:对象的引用、类的名称。 类的名称是一个字符串,代表了类的类型信息,这是理解bless的...
gb2312转Utf的方法: use Encode; my $str = "中文"; $str_cnsoftware = encode("utf-8...
  perl 计算硬盘利用率, 以%来查看硬盘资源是否存在IO消耗cpu资源情况; 部份代码参考了iostat源码;...
1 简单变量 Perl 的 Hello World 是怎么写的呢?请看下面的程序: #!/usr/bin/perl print "Hello W...
本文介绍Perl的Perl的简单语法,包括基本输入输出、分支循环控制结构、函数、常用系统调用和文件操作,...