関数型プログラミング言語Haskell Part15
■ このスレッドは過去ログ倉庫に格納されています
0471443
2011/08/23(火) 23:04:19.83試してみた
コード(SCC 無しバージョン & SCC 有りバージョン)
main = putStr (show (sum [1..10000000] + sum [1..10000000]) ++ "\n")
main = putStr (show ({-# SCC "sum1" #-}sum [1..10000000] + {-# SCC "sum2" #-}sum [1..10000000]) ++ "\n")
処理時間(単位:秒)
Linux
SCC 無し : 1.64s
SCC 有り : 3.28s
Windows
SCC 無し : 1.10s
SCC 有り : 2.28s
GHC に部分式共通化という仕組みがあるという話は私は知らないが(情報源を求む)、
もしあったとしても OS に依存するような実装方法とは考えにくい
この結果からも、Windows だろうが Linux だろうが同じように働くと予想する
部分式共通化は、Linux の方が目に見えて速いという説明には使えないと思う
■ このスレッドは過去ログ倉庫に格納されています