4
任務是通過使用parMap或parListChunk或更好的方式來加速求和。並行代碼實際上運行速度較慢。哈斯克爾並行性能
編輯:Facepalm ..我忽略瞭如何正確執行應用程序。
不要忘記
./myHaskellApp paramaters +RTS -N4 -sstderr
其中N 是核心數量增加內核。
任務是通過使用parMap或parListChunk或更好的方式來加速求和。並行代碼實際上運行速度較慢。哈斯克爾並行性能
編輯:Facepalm ..我忽略瞭如何正確執行應用程序。
不要忘記
./myHaskellApp paramaters +RTS -N4 -sstderr
其中N 是核心數量增加內核。
務必確保您實際上正在運行-threaded
,並使用-O2
進行優化,並且您使用的核心數量合理(例如-N4
)。此外,請檢查您的garbage collector statistics.
這些對於真正的大列表來說是否也比較慢? – gspr 2012-03-06 07:55:11
取決於'euler'的價格多少,'5'可能太小而不夠塊。如果你嘗試更像2000的東西呢? (儘管考慮到15000的小數,「euler」可能相當昂貴,在這種情況下這將不起作用) – luqui 2012-03-06 08:15:17
分析並行程序的最佳工具是http://www.haskell.org/haskellwiki/ThreadScope – 2012-03-06 13:48:22