ypsilon 0.9.6-update3を試すのこと
id:fujita-yさんに言及していただいてることに今更気がついて布団に頭突っ込んでじたばたしてるとかそういう午前5時 アザス!
やっと年末年始の連休に突入したので早速試してみよう
> (time (n-way-parallel-map 8 n-cpstak '(100 100 100 100 100 100 100 100))) ;; 8.183491 real 12.931036 user 0.730245 sys (7 7 7 7 7 7 7 7) > (time (n-way-parallel-map 4 n-cpstak '(100 100 100 100 100 100 100 100))) ;; 9.08186 real 14.221015 user 0.791506 sys (7 7 7 7 7 7 7 7) > (time (n-way-parallel-map 2 n-cpstak '(100 100 100 100 100 100 100 100))) ;; 8.97457 real 14.075074 user 0.747724 sys (7 7 7 7 7 7 7 7) > (time (n-way-parallel-map 1 n-cpstak '(100 100 100 100 100 100 100 100))) ;; 11.742961 real 12.593065 user 0.407797 sys (7 7 7 7 7 7 7 7)
確かにはやくなってるー
アクティビティモニタで見た感じでも2つのコアが100%近くまで使われてた(1のときはそれぞれが60%くらいまで動く程度だった)
以上がMacBookAirの結果
調子にのってC2DE6600のWindowsVistaマシンでも試してみる
(time (n-way-parallel-map 8 n-cpstak '(100 100 100 100 100 100 100 100))) > ;; 6.110001 real 10.218066 user 0.140401 sys (7 7 7 7 7 7 7 7) (time (n-way-parallel-map 4 n-cpstak '(100 100 100 100 100 100 100 100))) > ;; 6.514 real 10.514467 user 0.187201 sys (7 7 7 7 7 7 7 7) (time (n-way-parallel-map 2 n-cpstak '(100 100 100 100 100 100 100 100))) > ;; 6.483999 real 11.107271 user 0.0468 sys (7 7 7 7 7 7 7 7) (time (n-way-parallel-map 1 n-cpstak '(100 100 100 100 100 100 100 100))) > ;; 9.309999 real 9.812463 user 0.078001 sys (7 7 7 7 7 7 7 7)
タスクマネージャ見た感じMacBookAirと同じでコア2つをちゃんと使ってくれてるっぽいです
すげー!!
卒研で書いたニューラルネットワークのC言語版をSchemeに移植してみたら(下手くそなコード書いたというのが原因の大半な気はするけど)ものすごく遅くなった。アレは確か並列で計算できたはずなので、うまいこと書いてやればCより性能的に有利になったりするかも…
できれば今度試してみたいな
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FypsilonにPortfile置いておきました。これで正しいのか全くもってわからないという地雷っぷり。
なんかvariantに追加したほうがよさそうな要素が追加されてたような気がするんだけどごそごそしても見つからなかったからとりあえず放置。