是否有可能编写一个比Perl中的等效脚本更快的shell脚本?
我在Perl和
shell中编写了多个脚本,并且比较了实际的执行时间.在所有情况下,Perl脚本比shell脚本快10倍以上.
所以我想知道是否有可能编写一个比Perl中的同一个脚本更快的shell脚本?虽然我在Perl脚本中使用system函数,为什么Perl比shell更快? 解决方法
有几种方法可以让你的shell(例如Bash)执行得更快.
>如果Bash的内部可以执行任务,请尝试使用较少的外部命令 产量 $head -5 file 1 2 3 34 42 $wc -l <file 8999987 # time perl -nle '$sum += $_ } END { print $sum' file 290980117 real 0m13.532s user 0m11.454s sys 0m0.624s $time awk '{ sum += $1 } END { print sum }' file 290980117 real 0m9.271s user 0m7.754s sys 0m0.415s $time perl -nle '$sum += $_ } END { print $sum' file 290980117 real 0m13.158s user 0m11.537s sys 0m0.586s $time awk '{ sum += $1 } END { print sum }' file 290980117 real 0m9.028s user 0m7.627s sys 0m0.414s 对于每次尝试,awk都比Perl快. 最后,尝试学习awk超出他们作为一个衬里所能做的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |