まず、Java HashMap performance optimization/alternativeの前に質問された以下の質問を読んだことを教えてください。私も同様の質問があります。プリミティブ型へのマッピングのためのHashMapへの高速代替手段は何ですか?
私がしたいのは、Stanfordパーサーによって処理されるNew York Timesのテキストから多くの依存関係を取り除いて依存関係を与え、依存関係をスコアとともに、つまり依存関係を2回見ている場合1.
でハッシュマップからスコアをインクリメントしますタスクは、すぐに本当にから始まり、約10秒の文章が、すぐにオフにスケーリングします。私のハッシュマップでは、30,000の文章(各文に10語、各単語に3〜4件の依存語があると仮定しています)は、約300,000件のエントリです。
どのように私は私のハッシュマップのパフォーマンスを向上させることができるのだろうか?どのような種類のハッシュキーを使用できますか?
どうもありがとう Martinos
EDIT 1:[OK]男は、多分私は私の質問が誤って[OK]を言葉で表現
、ほかのバイト配列は、私のプロジェクトではなく、上記の他の人の同様の問題で使用されていません。私はなぜ彼らがそれを使用しているのかわからないので、私は尋ねた。第二に
:私はそれを理解する事が非常に困難になります考慮するとして、コードをポストが、ここではサンプルですません。
文で「私はベッドに行きます」私は依存関係を持っている: (Iを、 AM、-1) (I、行く、-2) (I、へ、-3) (AM、行く、-1) 。 。 。 (to、bed、-1) すべての文(1 000 000文)のこれらの依存関係は、ハッシュマップに格納されます。 もし私が依存関係を2回見たら、私は既存の依存関係の得点を得て1を加えます。
それはかなりです。すべてが順調ですが、ハッシュマップに文章を追加する(または取得)の割合は、この行にスケールダウン: dependancyBank.put(newDependancy、dependancyBank.get(newDependancy)+ 1); 誰でも私にその理由を教えてもらえますか? よろしくです Martinos
もっと多くのコードを表示できたら本当に助けになるでしょう...たとえば、関連するタイプは何ですか? 1秒あたり10文が非常に遅く聞こえる... –
最後に余分な質問を削除することを検討してください、それは関連する質問のコメントとしてより適しています。 – GavinCattell
'' byte [] 'をキーとして使うことはできません。だから、あなたが何を使うことができるのだろうか。 'byte []'はオブジェクトですが、HashMapにプリミティブを置くことはできません(ラッパーを追加することしかできません) –