[#15625] rb_hash_initialize — Takaaki Tateishi <ttate@...>

立石です.

22 messages 2002/01/04
[#15627] Re: rb_hash_initialize — matz@... (Yukihiro Matsumoto) 2002/01/04

まつもと ゆきひろです

[#15628] Re: rb_hash_initialize — Takaaki Tateishi <ttate@...> 2002/01/04

立石です.

[#15685] undefined method `inherited' for false (NameError) — WATANABE Hirofumi <eban@...>

わたなべです。

13 messages 2002/01/15
[#15686] Re: undefined method `inherited' for false (NameError) — nobu.nakada@... 2002/01/15

なかだです。

[#15757] 文字列→整数変換 — nobu.nakada@...

なかだです。

30 messages 2002/01/25

[#15830] [ 提案 ] puts, print 等を IO から分離 — UENO Katsuhiro <unnie@...>

うえのです。

14 messages 2002/01/31

[ruby-dev:15704] Re: method cache

From: Takaaki Tateishi <ttate@...>
Date: 2002-01-17 11:42:42 UTC
List: ruby-dev #15704
At Thu, 17 Jan 2002 18:23:40 +0900,
matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> |その場合,定義したメソッドのIDがキャッシュされている可能性があ
> |る場合にのみ全探索してエントリを削除するというように変更すると,
> |多少スピードが上がるようです.
> 
> 基本的なアイディアは評価できますが、CACHE_DAMAGEはクリアして
> はいけないような気がします(たまたま同じスロットを使うIDも
> DAMAGEを受けているかもしれないので)。

気づいてませんでした.確かにまずいですね.
rb_clear_cache_by_id()については,cache_damageでカウントしておいて,
2度以上damageを受ける(同じスロットが異なるidで使われる可能性がある)
とundamageできないようにしておくというのはどうでしょう?
そして,rb_clear_cache()の場合には全部undamageします.
この方法でsample/test.rbを実行しても,ほとんど実行時間は変わらないよ
うです.

# 他の方法としてはハッシュですべてのdamageを受けたIDを覚えておくとい
# うくらいでしょうか…
-- 
Takaaki Tateishi <ttate@kt.jaist.ac.jp>

In This Thread