分页: 1 / 3
perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-04 15:05
由 xhy
完整数据在这里:
http://attractivechaos.github.com/plb/
只解读perl和python,数值表示运行时间,python包括pypy和2.7/3.2,以及shedskin等不同实现。
公平起见,python没有使用scipy和numpy等包,一是因为算法不同,二是因为数学库有C扩展。
代码: 全选
Perl-5.1 121.2 230.3 225.6 0.5 12.6 6.3 219.9
PyPy-1.4.1 19.5 8.5 84.1 4.0 7.3 12.3 236.0
CPython-3.2 119.9 121.9 93.2 5.7 13.8 5.1 154.1
CPython-2.7.1 113.9 153.9 91.3 5.5 12.6 4.1 112.6
ShedSkin-0.9 4.4 3.7 50.4 1.1 11.0 6.9 331.1
结论:perl整体性能低于python,但是正则非常快,甚至比C的正则库还快,海量正则就得用perl。
顺便说一句,CPAN在10年前很牛,现在也就一般,
python和ruby乃至php都有类似的东西,rubygems的模块数已经超过CPAN了。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-04 15:09
由 yjcong
等神谕
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-04 15:15
由 leeaman
ee会伤心的

Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-04 22:58
由 jarlyyn
正则不就perl发明的么。。。。。。。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-04 23:56
由 xhy
jarlyyn 写了:正则不就perl发明的么。。。。。。。
perl和tcl的正则派生自Henry Spencer写的一个正则库,之后在这个基础上做了扩充,添加了新的特性。
代码: 全选
Perl and Tcl regular expressions were derived from a regex library written by Henry Spencer,
though Perl later expanded on Spencer's library to add many new features.
正则的起源当然不是perl,正则的发明人是数学家Stephen Cole Kleene,时间是50年代,
把正则用于计算机的第一人是Ken Thompson,perl的发明时间比这个晚了至少10年。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 10:11
由 eexpress
perlre 是事实标准。
评测都是脑残写给脑残看的。
实际用了才知道。“实践出真知”
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 10:21
由 ljj_jjl2008
eexpress 写了:perlre 是事实标准。
评测都是脑残写给脑残看的。
实际用了才知道。“实践出真知”
谁没事写那么多正则?快这点时间谁有能感觉到?
根本不用为了这么个测评来激动。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 10:32
由 eexpress
额。我是来反对评测的,哪里激动了?
你激动个啥。

Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 10:33
由 eexpress
perl其实是编写程序最快。随手写。开发最快。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 11:07
由 yjcong
eexpress 写了:perlre 是事实标准。
评测都是脑残写给脑残看的。
实际用了才知道。“实践出真知”
顺神者昌, 逆神者残
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 12:22
由 eexpress
截屏脚本
代码: 全选
#!/usr/bin/perl
use Gtk2 -init;
my $s = Gtk2::Gdk::Screen->get_default;
my $w = $s->get_root_window;
my $p = Gtk2::Gdk::Pixbuf->get_from_drawable (
$w, undef, 100, 100, 0, 0, 400, $s->get_height);
# $w, undef, 0, 0, 0, 0, $s->get_width, $s->get_height);
$p->save ("sshot-pl.png", "png");
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 14:21
由 yjcong
eexpress 写了:截屏脚本
代码: 全选
#!/usr/bin/perl
use Gtk2 -init;
my $s = Gtk2::Gdk::Screen->get_default;
my $w = $s->get_root_window;
my $p = Gtk2::Gdk::Pixbuf->get_from_drawable (
$w, undef, 100, 100, 0, 0, 400, $s->get_height);
# $w, undef, 0, 0, 0, 0, $s->get_width, $s->get_height);
$p->save ("sshot-pl.png", "png");
怎么把这个改成手动选择区域的脚本??
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 14:27
由 eexpress
人机界面处理,最耗资源了。你直接使用shutter吧。那也是perl的。
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 19:50
由 xhy
截屏用gnome自带的工具更方便,命令行下可以用scrot,
屏幕录像用recordmydesktop或者xvidcap,脚本留给别人折腾去
Re: perl的正则最快,秒杀其它语言,甚至比C的正则库还快
发表于 : 2011-09-05 20:10
由 xhy
截屏的库不少,起码有4个可以用,代码都不会超过10行,
PIL.ImageGrab
gtk.gdk...get_from_drawable
PyQt4.QtGui.QPixmap.grabWindow
wx ScreenDC...MemoryDC
除了python, ruby也有相应的库