2009-07-02 12 views
5

マップのパフォーマンス(平均チェーン長、最悪/最悪/平均アクセス時間、#再ハッシュなど)をプロファイリングするフックメソッドを公開するHashMap実装があります。HashMapプロファイリング

〜O(1)のアクセス時間に関して、HashMapと "best for hope"を使用することは、これが本当にそうであるかどうかを分析することなく、非常に一般的ですが、実行時のパフォーマンスを測定したいと思います。少なくとも開発中)、JMXやプロファイリングソフトウェアに繋がるものもあれば良いでしょう。

また、チェーンがリンクリストの代わりにバイナリツリーに基づいているHashMap実装について知っていますか?

ありがとうございます。

答えて

4

新しいJavaプロファイラがありますCollectionSpywww.collectionspy.com)は、任意のハッシュコンテナの内部再ハッシュの数を追跡し、バケットリストの長さをグラフで視覚化します。タイミング情報を(まだ)提供していません。

+0

ありがとうございます - 私は間違いなくそれをチェックアウトします。 – Adamski

1

TreeMapは赤黒の木をベースにしています。

更新:このポスターは、個々のチェーンがバイナリツリーであるHashMapsに興味があります。

+0

これは技術的にはハッシュマップの実装ではありませんが、私たちはあまりにもペダントなものになりたくありません。 – skaffman

+1

ありがとう、しかし私はHashMapsで興味深いのは、個々のチェーンがバイナリツリーであるということです。つまり、O(1)アクセス時間の近似に興味があります。 – Adamski

+0

OK。他の人に迷惑をかけないように、回答(&コメント)を残しておきます。 –

2

質問の2番目の部分では、いくつかのまともなリアルタイム保証を備えた高速ハッシュマップ実装をお探しの場合はJavolutionをご覧ください。それは高速で信頼性が高く、パフォーマンスについてかなりの詳細があります。