From: m-ohkubo@... (Mitsuhiko OHKUBO) Date: 2007-08-25T03:23:02+09:00 Subject: [ruby-list:43938] Re: Hashへの生成順は保障されないのか? 大久保です。 丁寧なご返答どうもありがとうございます。 説明いただき、私の懸念は杞憂に終わりそうな印象を持ちました。 時刻 2007/08/25 02:34:14 Yukihiro Matsumoto さんは書きました > まつもと ゆきひろです > > In message "Re: [ruby-list:43936] Re: Hashへの生成順は保障されないのか?" > on Sat, 25 Aug 2007 01:59:53 +0900, m-ohkubo@sakura.email.ne.jp (Mitsuhiko OHKUBO) writes: > | 「大クラス主義」が良くわからかったのですが、「少機能のクラス > |を多数用意するよりも多機能なクラスを少数用意しましょう」というこ > |とだろう、と思っての提案なのですが、違ってたらご指摘ください。 > > そういうような意味です。 了解しました。 > | Hashインスタンス生成時に順序維持の特性を持つハッシュライブラ > |リの実装を使うか、持たないハッシュライブラリの実装を使うかを指定 > |できるようにはならないでしょうか?順序維持の特性が重要な場合があ > |る一方で、他の特性(メモリ使用量とか)が重要な場合もありますので、 > |選択できる道を残しておいて欲しいです。 > > 選択肢が多い方がよいかと言うと必ずしもそうではないのです。と > いうか、ハッシュエントリひとつあたり2ワードの増加が問題にな > るような局面ではRubyの使用そのものが不適切な可能性が高いと思 > います。 このケースでは、ユーザが選択を行うコストに比べて得られる利益 が少ない、ということですね。了解しました。 使用そのものが不適切、という指摘はそのとおりかもしれません。 私の場合、自分用プログラムを組んでいるので、使って楽しいのが一番、 という理由(だけ)で使用しています。仕事では通らない理由ですね。 > | 将来、さらに高性能なハッシュライブラリが現れた場合に、Hashの > |仕様が順序維持を含むために、Hashの実装にそのライブラリを利用でき > |ない、という状況は起き得ることなのでしょうか? > | もう一つ、同様の場合に、Hashの実装にそのライブラリを利用する > |ためにHashの仕様から順序維持が外される、という状況は起き得ること > |なのでしょうか? > > これはknuさんの懸念ですね。ですが、ハッシュと言うのはかなり古 > 典的なアルゴリズムですし、これから極端に性能が違うライブラリ > が登場する可能性はかなり低いと思います。Judyのような「キャッ > シュラインを意識した高速でHashっぽいライブラリ」というのは存 > 在しますが、JudyはHashではありませんし。 ハッシュライブラリはほぼ煮詰まっている、ということなのですね。 了解しました。 *-------*-------*-------*-------*-------*-------*-------*------- 大久保 光彦