[#139] ruby 0.97 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/13
[#145] Re: The black face. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/14
[#182] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:178] Re: DOS port
1 message
1996/02/20
[#184] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:181] Re: DOS port
1 message
1996/02/20
[#185] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:183] Re: DOS port
1 message
1996/02/20
[#196] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:183] Re: DOS port
1 message
1996/02/26
[#198] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:197] Re: DOS port
1 message
1996/02/26
[#201] Re: ruby for JPower — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/26
[ruby-list:116] while vs WHILE
From:
nakawtse@... (P nakawtse)
Date:
1996-02-02 04:16:02 UTC
List:
ruby-list #116
中渡@NTTです.
−−−
まつもと ゆきひろ@トヨタケーラムです.
この実験が間違っていました.やり直したところ面白い結果が出ま
した.
(1) イテレータは遅くない
time ruby -e 'i=0; while i<10000; i+=1 end'
0.6 real 0.5 user 0.0 sys
time ruby -e 'for i in 0..10000; end'
0.8 real 0.2 user 0.6 sys
time ruby -e '0.upto(10000){}'
0.8 real 0.2 user 0.6 sys
whileは
while(条件を評価) { ループの中を評価 }
WHILE(イテレータ)は
ブロックをセーブする
コンテキストをセーブする(setjmp)
イテレータ関数を呼ぶ
yieldでブロックを復旧し,ブロックを評価する
retryでコンテキストを復旧(longjmp)
−−−−−−
これだけ見ると,どう見てもイテレータの方がコストが
大きいんですけど.もっと低レベルでは同じくらいの命令を
こなしてるのでしょうか?
# i+=1 -> i++ で変わるとか(^^)
時間の測定精度はどのくらい信用できるのでしょうか?
もっと精密なのもありましたよね..
あと,user,sys の測定の仕方とか
---
適切なメソッドが無くてイテレータ以外ではトラバースでき
ない可能性だってあります.
----
whileループでダメな場合があるわけですね.
−−