【发布时间】:2013-12-04 18:06:19
【问题描述】:
像并行运行一样更快地执行此脚本的最佳解决方案是什么?
#!usr/bin/perl
use warnings;
use strict;
use threads;
open(R1 ,"<$ARGV[0]") || die " problem in oppening $ARGV[0]: $!\n";
my %dict1 : shared;
my $i=0;
while (my $l = <R1>){
chomp($l);
$l=~ s/\s$//;
$l=~ s/^\s//;
if ($l=~ /(.*)\s(.*)/){
$i++;
#print $1,"\n";
#my $t = threads->create($dict1{$1}++);
$dict1{$1}++;
}
}
print $i, "\n";
close R1;
【问题讨论】:
-
你能重新编辑你的问题吗?看起来整个事情现在都在一条线上....
-
@andrewsi:整件事只写了几行。我已经或多或少地修复了它。
-
欢迎来到 Stack Overflow。请尽快阅读About 页面。格式化代码时,请确保您有换行符,避免使用制表符,按照您希望的方式布置代码(建议每级缩进 4 个空格),然后选择所有代码并使用
{}按钮在编辑框上方进行缩进,使其与上面一样。然后请在正文中添加一个问题;您不能将整个问题留在标题/主题中。 -
@JonathanLeffler - 你比我更有耐心!
-
你发布的不是 IO-bound 吗?如果是这样,投入更多 CPU 有什么帮助。
标签: perl