[#14850] str[re, -1] raises NoMemoryError — nobu.nakada@...
なかだです。
6 messages
2001/10/03
[#14888] perl6 apocalypse 3 — nobu.nakada@...
なかだです。
7 messages
2001/10/04
[#14903] Re: [rubyist:0825] Re: Thread — nobu.nakada@...
なかだです。
8 messages
2001/10/09
[#14909] ext/socket h_addr_list — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
9 messages
2001/10/11
[#14922] alias $gvar — Koji Arai <JCA02266@...>
新井です。
19 messages
2001/10/14
[#14941] Re: alias $gvar
— matz@... (Yukihiro Matsumoto)
2001/10/16
まつもと ゆきひろです
[#14924] Re: alias $gvar
— nobu.nakada@...
2001/10/14
なかだです。
[#14932] Re: alias $gvar
— nobu.nakada@...
2001/10/15
なかだです。
[#14934] Re: alias $gvar
— Koji Arai <JCA02266@...>
2001/10/15
新井です。
[#14942] [BUG] SEGV: module_eval — Satoru Takabayashi <satoru@...>
こんなことする方が悪いという気がしますが、次のコードを実行す
5 messages
2001/10/16
[#14961] [PATCH] Marshal.load/dump — nobu.nakada@...
なかだです。
9 messages
2001/10/18
[#14962] alias var and trace_var — "K.Kosako" <kosako@...>
新井さんの指摘から、中田さんのパッチで
12 messages
2001/10/19
[#14963] Re: alias var and trace_var
— nobu.nakada@...
2001/10/19
なかだです。
[#14965] Re: alias var and trace_var
— "K.Kosako" <kosako@...>
2001/10/19
nobu.nakada@nifty.ne.jpさんの
[#14967] Re: alias var and trace_var
— nobu.nakada@...
2001/10/19
なかだです。
[#14971] Re: alias var and trace_var
— "K.Kosako" <kosako@...>
2001/10/22
nobu.nakada@nifty.ne.jpさんの
[#14984] [PATCH] stack overflow while GC marking. — nobu.nakada@...
なかだです。
7 messages
2001/10/23
[#14987] tracer.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
5 messages
2001/10/23
[#14998] TCPSocket.gethostbyname で Segmentation fault — tomohiko machida <machida@...>
はじめまして。
4 messages
2001/10/25
[#15001] finalizer problem — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
3 messages
2001/10/25
[#15006] Re: eval.c (rb_stack_check): prohibit recursive raising error — WATANABE Hirofumi <eban@...>
わたなべです。
13 messages
2001/10/26
[#15008] Re: eval.c (rb_stack_check): prohibit recursive raising error
— Shugo Maeda <shugo@...>
2001/10/26
前田です。
[#15207] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15209] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[#15210] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15211] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[#15212] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15214] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[ruby-dev:14851] Re: Generator
From:
Shugo Maeda <shugo@...>
Date:
2001-10-03 03:38:11 UTC
List:
ruby-dev #14851
前田です。
At Thu, 27 Sep 2001 20:28:01 +0900,
TAKAHASHI Masayoshi <maki@inac.co.jp> wrote:
> このgenerator、面白いですねー。
面白いですね。
ただ、Rubyのcall/ccは重いので効率がちょっと問題になりますよね。
shugo@studly:~/ruby> time ruby -e '(1..100).each do |i| i end'
ruby -r generator.rb -e '(1..100).each do |i| i end' 0.03s user 0.00s system 152% cpu 0.020 total
sshugo@studly:~/ruby> time ruby -r generator.rb -e 's = SyncEnumerator.new(1..1000); s.each do |i| i end'
ruby -r generator.rb -e 's = SyncEnumerator.new(1..1000); s.each do |i| i end 16.54s user 2.20s system 84% cpu 22.157 total
もっとも、これはRubyがVM化されてcall/ccの実装が変われば、改善され
ると思いますが…。
# 木山君のVMはcall/ccやthreadも実装されてるんでしょうか。
あんまり関係ないんですけど、ネットワークがらみのプログラム(ネット
ワークじゃなくても何でも同じだと思いますが)で以下のように細かい粒
度でtimeout.rbを使ったら、効率が随分低下しました。
def get_line
line = nil
timeout(@timeout) do
line = @socket.gets
end
...
end
これはスレッドプールを使ったら多少改善されるのかな?
> 少し触ってみました。で、GeneratorではなくSynchronizer改め
> SyncEnumeratorの方ですが、
>
> * SyncEnumerator#eachの途中の段階で、あるイレテータの返す値が
> nilだったとき、イテレートが終わったのか、本当に値がnilだった
> のかの区別する手段がない
>
> という点が気になりました。
> でも、どう対応するのがいいんでしょうね? デフォルトを設定できる
> ようにするとか、n番目のイテレータが終了したかを調べるメソッドを
> 作るとかでしょうか(どちらも今一つしっくりこないかも)。
どれかのカーソルに対応する要素がなくなった時点で例外を起こすよう
なオプションもあると便利かもしれないですね。
--
前田 修吾
この話がC MAGAZINEの9月号(*1)に間に合ってたらもっと面白くできたのに。
(*1: http://www.shugo.net/article/cmagazine/5th/)