From: WATANABE Hirofumi Date: 1998-07-14T11:30:59+09:00 Subject: [ruby-list:8718] Re: [BUG] Segmentation fault わたなべです. Yukihiro Matsumoto writes: :|この通りだったようで、GNU malloc ライブラリをリンクすることで回避 :|できました。ruby 本体じゃないところでお騒がせしまして申し訳ござい :|ませんでした。 : :いやあ,解決して良かったですね.これで1.1cに向けての懸念が一 :つ減りました.alphaのbignumの問題も解決したみたいです. とは言うものの += ってメモリ喰いすぎますよね? a = '' for i in 1..10000 a += ' ' end なんてパターンはよくあると思うんだけど Σi だから (10000*(10000+1))/2 で 50MB 近くになります. #これは realloc ではなく malloc なので. telnet.rb はまさにこんな感じで swap しまくりです. concat(<<) にするか配列にするか GC.start を適当に入れるとかしないと 遅くなってしまってあまり実用的じゃないです. ruby-dev の立石さんの提案もそのあたりにあるのかもしれない. -- わたなべひろふみ