Hatena::ブログ(Diary)

@vvakame の日記

2008-12-27

ypsilon 0.9.6-update3を試すのこと

| 17:11 | ypsilon 0.9.6-update3を試すのこと - @vvakame の日記 を含むブックマーク

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より性能的に有利になったりするかも…

できれば今度試してみたいな


404 Not FoundにPortfile置いておきました。これで正しいのか全くもってわからないという地雷っぷり。

なんかvariantに追加したほうがよさそうな要素が追加されてたような気がするんだけどごそごそしても見つからなかったからとりあえず放置。

2008-12-23

Ypsilon 0.9.6-update3きたきた!

| 04:26 | Ypsilon 0.9.6-update3きたきた! - @vvakame の日記 を含むブックマーク

Ypsilon 0.9.6-update3 - Y.FUJITA::NOTEPAD::YPSILON

きたきた!paralell-mapとかが使えるようになってるはず!

後日試す…といいたいところだけどパラレルにやって嬉しい処理とかちょっと思いつかない俺ダサい的なアレがですねうんえぇ

FFI入ったのってupdate3からだっけ…?

ふと思ったけどypsillon->mono->.NET みたいなのってできるのかしら?

2008-12-22

マクロが欲しいと思うということ

| 01:58 | マクロが欲しいと思うということ - @vvakame の日記 を含むブックマーク

今まで僕がSchemeでなんか書いててマクロが欲しいなぁ…と思ったことは片手で数えるくらいしかない

基本的に書いてて「欲しいなぁ」と思うことが少ないので、マクロのことがあまりよく理解できていないのだろうと思っていた

けど、最近C#書いてると「マクロ欲しいなぁ」って思うことが時たまある(特にDBまわりとか)

これって、つまり、どういうことなんだろう(;@@)

ようするにマクロが無くても困らずくりくりかけるSchemeスゲェ!って言うことでいいんだろうか?

それとも、まだSchemeで実用的な物体を書いてないからかもしれない