作者: Yukihiro Matsumoto
日時: 2005/11/22(13:19)
まつもと ゆきひろです

In message "Re: [TSpython:657] Re: 辞書の平原"
    on Tue, 22 Nov 2005 12:44:53 +0900 (JST), kbk@... (Bruce.) writes:

|> def has_key2(dict, key):
|>     if key in dict.keys():
|>         return True
|>     else:
|>         return False
|
|を、
|
|def has_key2(dict, key):
|    if key in dict:
|        return True
|    else:
|        return False
|
|のように書き換えたところ、
|
|has_key:  0.015000104904174805
|has_key2: 0.030999898910522461
|
|has_key2のパフォーマンスが一気に上がりました。
|なんかカラクリあるんですかね。

なんかカラクリもなにもkey in dictならハッシュ使うんでhas_key
と同じ処理ですよね。has_keyとhas_key2の速度の違いはCで書かれ
ているかPythonで書いてあるかの違いですよね。