In article <993548474.599948.13674.nullmailer / ev.netlab.zetabits.com>, matz / zetabits.com (Yukihiro Matsumoto) writes: > というわけで添付のようなパッチを作ってみました。田中さんの基 > 本的なアイディアの通り倍々で増やしていきますが、mallocに失敗 > した時点でヒープの増加サイズを初期値に戻してやり直しています。 試してみました。期待通り、Array の伸長一回あたりの時間が平均して定数時 間で処理されており、datasize を適当に limit して試すとパッチを当ててい ない場合とおなじところまで処理が進みます。 あと、そういえばどこかで同じような話を読んだことがある、ということを思 い出して探してみました。 Ruby スクリプト最適化のオニ http://www9.xdsl.ne.jp/~aamine/ja/ruby/optimize.html | 大量にオブジェクトが生成されていて、そのほとんどは使われているのがわかっている | ときは GC を止めてしまう。仕事が終わったら明示的に開始する。効くときは秒単位で | 効く。 ruby-talk の話もありますし、ひっかかる人はそれなりにいる、ということな んでしょう。たぶん。 -- [田中 哲][たなか あきら][Tanaka Akira] 「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)