トップ «前の日記(2008-06-05) 最新 次の日記(2008-06-07)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ToDo:


2008-06-06

_ moose

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)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

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
1.やぎ(2008-07-22 19:39) 2.kosaki(2008-06-30 17:04) 3.へるみ(2008-06-29 00:30)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h