[#9331] initialize arguments — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
10 messages
2000/03/01
[#9332] Re: initialize arguments
— WATANABE Tetsuya <tetsu@...>
2000/03/01
渡辺哲也です。
[#9377] Hash.new('') — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
11 messages
2000/03/06
[#9383] rb_call_super() — Yasushi Shoji <yashi@...>
やすしです。
10 messages
2000/03/06
[#9388] Re: rb_call_super()
— Kazuhiro HIWADA <hiwada@...>
2000/03/07
ひわだです。
[#9395] Re: rb_call_super()
— matz@... (Yukihiro Matsumoto)
2000/03/07
まつもと ゆきひろです
[#9398] Re: rb_call_super()
— Yasushi Shoji <yashi@...>
2000/03/07
やすしです。
[#9393] [PATCH] Symbol.new — nobu.nakada@...
なかだです。
13 messages
2000/03/07
[#9396] Re: [PATCH] Symbol.new
— matz@... (Yukihiro Matsumoto)
2000/03/07
まつもと ゆきひろです
[#9424] method_missing(Fixnum) — nobu.nakada@...
なかだです。
5 messages
2000/03/11
[#9430] [BUG] Process.kill :symbol, pid — Koji Arai <JCA02266@...>
新井です。
5 messages
2000/03/12
[#9445] thread.rb — m_seki@...
18 messages
2000/03/16
[#9446] Re: thread.rb
— matz@... (Yukihiro Matsumoto)
2000/03/17
[#9460] Re: thread.rb
— m_seki@...
2000/03/21
[#9462] Re: thread.rb
— matz@... (Yukihiro Matsumoto)
2000/03/21
まつもと ゆきひろです
[#11281] Re: thread.rb
— Masatoshi SEKI <m_seki@...>
2000/10/22
[#11282] Re: thread.rb
— Yasushi Shoji <yashi@...>
2000/10/22
At Mon, 23 Oct 2000 00:14:30 +0900,
[#11283] Re: thread.rb
— Masatoshi SEKI <m_seki@...>
2000/10/22
[#11284] Re: thread.rb
— Yasushi Shoji <yashi@...>
2000/10/22
At Mon, 23 Oct 2000 01:40:14 +0900,
[#11288] sync/async message passing model (was Re: Re: thread.rb)
— kjana@... (YANAGAWA Kazuhisa)
2000/10/23
In message <20001022171627N.yashi@yashi.com>
[#11291] Re: sync/async message passing model (was Re: Re: thread.rb)
— kjana@... (YANAGAWA Kazuhisa)
2000/10/24
追加,追加.
[#9447] ParseDate.parsedate( "2000-03-16T23:45:54+0900" ) — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
10 messages
2000/03/17
[#9448] Re: ParseDate.parsedate( "2000-03-16T23:45:54+0900" )
— Tadayoshi Funaba <tadf@...>
2000/03/17
ふなばです。
[#9449] Re: ParseDate.parsedate( "2000-03-16T23:45:54+0900" )
— matz@... (Yukihiro Matsumoto)
2000/03/18
まつもと ゆきひろです
[#9451] Re: ParseDate.parsedate( "2000-03-16T23:45:54+0900" )
— Tadayoshi Funaba <tadf@...>
2000/03/18
ふなばです。
[#9473] Symbol#<=> — Koji Arai <JCA02266@...>
新井です。
12 messages
2000/03/23
[#9477] Re: Symbol#<=>
— matz@... (Yukihiro Matsumoto)
2000/03/24
まつもと ゆきひろです
[#9483] Re: Symbol#<=>
— Koji Arai <JCA02266@...>
2000/03/24
新井です。
[#9489] parsedate2 — Tadayoshi Funaba <tadf@...>
ふなばです。
7 messages
2000/03/25
[#9498] timeout しない timeout — ARIMA Yasuhiro <fit0298@...>
有馬です。
20 messages
2000/03/26
[#9506] Re: timeout しない timeout
— matz@... (Yukihiro Matsumoto)
2000/03/27
まつもと ゆきひろです
[#9509] Re: timeout しない timeout
— gotoken@... (GOTO Kentaro)
2000/03/27
In message "[ruby-dev:9506] Re: timeout しない timeout"
[#9511] Re: timeout しない timeout
— matz@... (Yukihiro Matsumoto)
2000/03/27
まつもと ゆきひろです
[#9512] Re: timeout しない timeout
— ARIMA Yasuhiro <fit0298@...>
2000/03/27
有馬です。
[#9524] Re: timeout しない timeout
— ARIMA Yasuhiro <fit0298@...>
2000/03/29
有馬です。
[#9525] Re: timeout しない timeout
— gotoken@... (GOTO Kentaro)
2000/03/29
ごとけんです
[#9526] Re: timeout しない timeout
— ARIMA Yasuhiro <fit0298@...>
2000/03/29
有馬です。
[#9528] Re: timeout しない timeout
— gotoken@... (GOTO Kentaro)
2000/03/30
ごとけんです
[#9529] Re: timeout しない timeout
— ARIMA Yasuhiro <fit0298@...>
2000/03/30
有馬です。
[ruby-dev:9411] idea: static ruby optimizer
From:
Minero Aoki <aamine@...>
Date:
2000-03-08 11:33:34 UTC
List:
ruby-dev #9411
あおきです。 Subject 通りアイデアだけです。 (自分では実装しそうにないので ^^;;) 前にまつもとさんが「Ruby は動的な言語なので最適化は難しい」と おっしゃっていたと思うんですが、最近これを逆手にとって 「じゃあ、動的じゃなくしちゃえば高速化できるんでない?」という 着想に至りました。が、当然そのまま静的にしてしまうとなんにも いいところはないので、それをミックスして使います。すなわち、 1 最初はいままで通りの Ruby が動く。 2 ある一点を境に、eval 系の実行及びメソッドの追加、変更を禁止する。 3 オプティマイザに動作が移り、最適化を行う。 4 動作再開 最初は動的で、その後静的になるというところがポイントです。 これは、実際のプログラムでは、メタ機能を使う部分は クラスの初期化の時点に集中しているという仮定に基いています。 (実際、ぼくの作ったのはほとんどそうです。) 3 の段階で完全に最適化してしまおうと思うとその部分でかなり 時間がかかってしまいそうですが、たとえばサーバーのように、 fork で数が増えるアプリケーションではそれでも有効そうです。 また、全部を一気に最適化してしまうのではなく、コードが到達したときに 最適化する Just In Time Optimizer というのも考えられます。 大規模な最適化はオーバーヘッドがかかりすぎるにしても、たとえば クラスのメソッド表をフラットにしてしまう(できれば完全ハッシュに) だけでもメソッド探索のコストは結構下がりそうです。 というアイデアなんですが、みなさんどう思われますか? ------------------------------------------------------------------- あおきみねろう