17. TO DO or NOT TO DO
自分一人で作業した方が早いか、そのへ
んの人を何人か連れて来て仕事を説明して
作業を分けてでも手伝ってもらった方が早
く終わるような作業内容なのかを見極める。
? 一つずつ順を追って処理しなければいけない仕
事ならば、淡々と一人で片づけるしかない。
? 分業可能な作業であれば、作業の説明や仕分け
やまとめなどの新たな手間が増えるのと、分業
の効率を天秤にかけて判断する。
並列処理は、分業させるためのコード書
きも大変なので、それに見合う効率化が
見込めるときにだけ役立つ技なのです。
17
25. 並列化で嬉しくなるのは?
? 400回
シングル Time difference of 2.374 secs
並列化 Time difference of 8.911 secs
? 4000回
シングル Time difference of 7.158 secs
並列化 Time difference of 11.222 secs
? 10000回
シングル Time difference of 15.31853 secs
並列化 Time difference of 15.63356 secs
? 40000回
シングル Time difference of 55.244 secs
並列化 Time difference of 36.901 secs
? 100000回
シングル Time difference of 2.264043 mins
並列化 Time difference of 1.329983 mins
25
Windows VISTA, 32bit, R3.0.0, コア数2の条件でテストした結果
27. おわり
27
参考資料
Revolution Analytics. “doParallel: Foreach parallel adaptor for the parallel
package,” R package version 1.0.1. 2012, available at http://CRAN.R-
project.org/package=doParallel.
Revolution Analytics, “foreach: Foreach looping construct for R,” R package
version 1.4.0. 2012, available at http://CRAN.R-
project.org/package=foreach.
S. Weston and R. Calaway, “Getting started with doParallel and foreach,”
2010, available at http://cran.r-
project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf.
S. Weston, “Using the foreach packages,” 2009, available at
http://www.rochester.edu/college/psc/thestarlab/help/UsingTheForeachPac
kage.pdf.