Perl - Parallel::FileRead
Parallell::FileRead というのを書いた。
例えば10GBの大きいログファイルを処理しようとしているとき
use Parallel::FileRead; Parallel::FileRead->run( file => '10GB.log', worker => 5, # how many workers on_worker => sub { my ($fh, $index) = @_; while (my $line = <$fh>) { # do something with $line } }, );
と書けば、2GBずつの処理に分解できる。まずまず便利だと思ってる :-)