那怎么比么, 总之benchmark的结果是opendir + readdir 显然比glob快
2009/6/20 Don Qin <icefishc@gmail.com>
glob和readdir的功能不同, glob可以看作是对readdir的封装. 这么比不怎么公平...
2009/6/20 Michael Zeng <galaxy2004@gmail.com>
这个我打过benchmark的
use strict ;
use warnings ;
use Benchmark ;my $count = 10_000 ;
my @files ;timethese( $count , {
'use_glob' => sub {
@files = glob "*" ;
} ,
'use_opendir' => sub {
opendir my $F1, "." ;
@files = readdir ($F1) ;
},
} ) ;
结果是Benchmark: timing 10000 iterations of use_glob, use_opendir...
use_glob: 19 wallclock secs ( 5.49 usr + 11.18 sys = 16.66 CPU) @ 600.10/s (n=10000)
use_opendir: 2 wallclock secs ( 1.00 usr + 0.84 sys = 1.84 CPU) @ 5428.88/s (n=10000)
2009/6/20 Don Qin <icefishc@gmail.com>
可以明确的是glob没有调用外部shell.至于效率问题 我想和处理的具体问题有关终究它们两个的功能不同不好直接比较.在*nix平台它们在读取文件夹这一步都是调用的c中readdir.在其它平台上的它们2个所采用的方式可能也是相同的. 不知道为什么你会说glob的移植性比readdir差。 如果你有明确的证据请你只出来. 万分感谢.
也不清楚你认为glob会受文件数量影响的原因。 能否给出证据。 谢谢
2009/6/20 Don Qin <icefishc@gmail.com>请问, 这种说法有根据么?
2009/6/20 vincent <pcwl.vincent@gmail.com>
对,glob的<>操作本质上是调用外部shell,所以效率上是不如readdir的,而且其最大缺点就是受文件数量限制和影响移植~~~,这也是我
工作中碰到的问题~~ 所以就一般都不用它了~
> 2009/6/19 xjdengz <xjde...@gmail.com>
On 6月19日, 下午9时25分, Michael Zeng <galaxy2...@gmail.com> wrote:
> 原来readdir 比glob还有这个好处
>
> 我从来都是用glob的
>
> 不过benchmark 表明 opendir/readdir 比glob效率高
>
>
>
>
>
>
> > 2009/6/19 vincent <pcwl.vinc...@gmail.com>
>
> > > 20090611腾讯四面面经
> > > 1月11号面了腾讯,今天得到结果是fail,呵呵现在把面经写出来给大家分享一下。免得大家跟我一样变成炮灰~。
> > > 跟论坛里面robin订好是下午两点的时间,由于天气比较恶劣,到东站迟了十来分钟,错过了12点去深圳的一班,只能坐12:20一班的车,到深圳
>
> > > 这个岗位,第二是没有注意面试中的小细节,导致面试官产生偏见。第三就是简历做得太无针对性。第四可能就是传说中的人品了~~ ⊙﹏⊙b汗。
> > > 去面试的朋友有帮助。
> > > 最后介绍一下我自己,广州五山某理工学习毕业,三年的电信网管开发经验,精通perl、unix/linux c,perl主要是文本分析,系统监控及
> > > 管理,网络通信,数据库操作。c的话主
> > 五山某理工:)
> > > 要是接口通讯开发,数据库通讯,谙熟多进程,多线程,信号,精灵进程,终端/伪终端等编程,mysql从应用、调优、管理、原理谙熟于心娴熟于手,呵呵
> > > ~~其余啥都懂一点,包
>
> > > 括泡妞、蒲夜场,跑东莞...,现在想换新工作,有介绍的朋友请不吝帮衬~~~,工资最好不要低于7.5K O(∩_∩)O~~~~
>
> --
> Yours Sincerely
> Zeng Hong
--
Yours Sincerely
Zeng Hong
--
Yours Sincerely
Zeng Hong
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论