From: Masahiro Sugaya Date: 2007-08-25T12:10:27+09:00 Subject: [ruby-list:43940] Re: Hashへの生成順は保障されないのか? 菅谷です。今日も暑いですね。 初心者なので的外れかもしれませんがその時はお許し下さい。 ハッシュに順序があると嬉しい派です。 ただ、暗号プログラムを書いている人なんかは順序がランダムな方が嬉しかったりしないでしょうか。 順序ありがデフォルトでハッシュのキーの生成アルゴリズムをごっそり入れ替えられるメソッドがあったらどうなんでしょう。 07/08/25 に Mitsuhiko OHKUBO さんは書きました: > 大久保です。 > > > 丁寧なご返答どうもありがとうございます。 > 説明いただき、私の懸念は杞憂に終わりそうな印象を持ちました。 > > > 時刻 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ではありませんし。 > ハッシュライブラリはほぼ煮詰まっている、ということなのですね。 > 了解しました。 > > > *-------*-------*-------*-------*-------*-------*-------*------- > 大久保 光彦 > > >