基本5の補足(並列処理での速度向上例)
提供: Eospedia
ルールを組み合わせ方次第で並列処理できるところ増やして速度アップをはかることができます。しかし、ルール間ではファイルのやり取りが行われるので、処理の短いルールを何度も呼んでしまうとこの部分の割合が多くなってしまいます。そこで1ファイルについて並列処理できない部分のルールはまとめて長く処理されるようにすると、そのルールを各ファイル毎で並列処理すればよいので速度を改善できます。
| コード | 処理結果(ProM) | |
|---|---|---|
| (1) |
Rule Main
input '*.in'.all
output '*.out'.all
Flow
rule First
rule Second
End
Rule First
input '*.in'
output '{$I[1][1]}.route'
Action
awk '{ print $1*2 }' {$I[1]} > {$O[1]}
End
Rule Second
input '*.route'
output '{$I[1][1]}.out'
Action
awk '{ print $1+1 }' {$I[1]} > {$O[1]}
End
|
![]() |
| (2) |
Rule Main
input '*.in'.all
output '*.out'.all
Flow
rule FirstSecond
End
Rule FirstSecond
input '*.in'
output '{$I[1][1]}.out'
Action
awk '{ print $1*2 }' {$I[1]} > {$I[1][1]}.route
awk '{ print $1+1 }' {$I[1][1]}.route > {$O[1]}
End
|
