5

java.util.concurrentマルチスレッド環境で、Scalaの可変コレクションと不変コレクションを相互に比較し、コレクションを比較する公開されたマイクロベンチマークはありますか?サーバーサイドコードでHashMapをキャッシュするなど、リーダーがライターをはるかに上回っている場合に特に興味があります。

Clojureコレクションのマイクロベンチマークも受け入れられます。それらのアルゴリズムはScala2.8永続コレクションで使用されているものと類似しているためです。

まだ何も行われていない場合は自分で作成しますが、優れたマイクロベンチマークを作成するのは簡単ではありません。

4

3 に答える 3

2

Javaハッシュマップ、Scalaハッシュマップ、Javaコンカレントハッシュマップ、Javaコンカレントスキップリスト、Javaパラレルアレイ、Scalaパラレルコレクションを比較した結果がいくつかあります(テクニカルレポートの最後にあります)。

http://infoscience.epfl.ch/record/165523/files/techrep.pdf

同時スキップリストとJava同時ハッシュマップのより詳細な比較がここにあります(レポートの主要部分の最後、付録の前にもあります)。

http://infoscience.epfl.ch/record/166908/files/ctries-techreport.pdf

これらのマイクロベンチマークは、1回の操作のパフォーマンスのテストに重点を置いています。独自のベンチマークを作成する場合は、これが役立つ可能性があります。

http://buytaert.net/files/oopsla07-georges.pdf

于 2011-09-28T12:10:27.500 に答える
1

LiHaoyiのBenchmarkingScalaCollectionsは、クエリに対応する詳細で包括的な調査です。ここで引用するには長すぎます。

于 2016-10-14T17:28:55.183 に答える
0

では、java.util.concurrent.ConcurrentHashMapを使ってみませんか?そうすれば、同期する必要がなくなり、100万回の読み取り(および1回の書き込み)がはるかに高速になります。

于 2011-09-27T18:47:59.253 に答える