ToDo:
http://www.slideshare.net/hakobe/moose
via http://mono.kmc.gr.jp/~yhara/d/?date=20080601#p01
なんかスライド見た感じだと静的型チェック 本当にできるんだろうか…という感じだった。
そうそう Yajit 書いてて思うのは 型チェック欲しいねーという。
関数の引数だの返り値の型推論はまぁなくてもよくて、 引数に型が明示的に指定できると嬉しい。 無理矢理既存の Ruby を壊さずに オプショナルな型指定を入れるなら、
TYPE_fib = [Fixnum, [Fixnum]] def fib(a) a > 2 ? f(a-1) + f(a-2) end
とか定数につっこんどいたら 見てくれるとかそういうアドホックな感じでもいい気がするなあ。
fib で思い出したけど definemethod 実装してみたので ベンチしてみれるのだった。
> time ruby hoge.rb 1346269 ruby hoge.rb 2.13s user 0.28s system 99% cpu 2.423 total > time ruby1.9 hoge.rb 1346269 ruby1.9 hoge.rb 0.24s user 0.01s system 96% cpu 0.262 total > time ./rubyjit.rb hoge.rb 1346269 ./rubyjit.rb hoge.rb 0.36s user 0.00s system 97% cpu 0.368 total
なんか思ったより遅くないな。 まぁ既知の関数なら Ruby に戻らずに直接 call するような 最適化とかできると良いね。
(01:18)
前 | 2008年 6月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。