私はPerl 6と並行処理/並行処理を同時に学習しようとしています。Perl 6での単純な並列処理の例が必要
簡単な学習の練習として、私は550の.htmファイルのフォルダを持っており、それらの中でコードの行の合計が必要です。これまでのところ、私はこれを持っています:
use v6;
my $start_time = now;
my $exception;
my $total_lines = 0;
my @files = "c:/testdir".IO.dir(test =>/'.' htm $/);
for @files -> $file {
$total_lines += $file.lines.elems;
CATCH {
default { $exception = $_; } #some of the files error out for malformed utf-8
}
}
say $total_lines;
say now - $start_time;
これは約3秒で合計577,449になります。
Perl 6の並列化のアイデアを利用するにはどうすればよいでしょうか?救われた時間はそれほどではないが、それは概念の証明として働くだろうと分かっている。
何か? – Christoph
.raceでは平均して約2秒かかりました。 .raceがなければ、平均で2.6秒かかります。 – Herby