提交 eb9faf52 authored 作者: Andrei Tokar's avatar Andrei Tokar

make test more apples-to-apples and reduce sporadic timing-related failures

上级 c98efe8f
...@@ -7,10 +7,10 @@ package org.h2.test.store; ...@@ -7,10 +7,10 @@ package org.h2.test.store;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentSkipListMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.h2.mvstore.MVStore; import org.h2.mvstore.MVStore;
...@@ -84,7 +84,7 @@ public class TestMVStoreBenchmark extends TestBase { ...@@ -84,7 +84,7 @@ public class TestMVStoreBenchmark extends TestBase {
mapList = new ArrayList<>(count); mapList = new ArrayList<>(count);
mem = getMemory(); mem = getMemory();
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
mapList.add(new HashMap<Integer, String>(size)); mapList.add(new ConcurrentHashMap<Integer, String>(size));
} }
addEntries(mapList, size); addEntries(mapList, size);
hash = getMemory() - mem; hash = getMemory() - mem;
...@@ -93,7 +93,7 @@ public class TestMVStoreBenchmark extends TestBase { ...@@ -93,7 +93,7 @@ public class TestMVStoreBenchmark extends TestBase {
mapList.clear(); mapList.clear();
mem = getMemory(); mem = getMemory();
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
mapList.add(new TreeMap<Integer, String>()); mapList.add(new ConcurrentSkipListMap<Integer, String>());
} }
addEntries(mapList, size); addEntries(mapList, size);
tree = getMemory() - mem; tree = getMemory() - mem;
...@@ -150,11 +150,10 @@ public class TestMVStoreBenchmark extends TestBase { ...@@ -150,11 +150,10 @@ public class TestMVStoreBenchmark extends TestBase {
MVStore store = MVStore.open(null); MVStore store = MVStore.open(null);
map = store.openMap("test"); map = store.openMap("test");
mv = testPerformance(map, size); mv = testPerformance(map, size);
map = new HashMap<>(size); store.close();
// map = new ConcurrentHashMap<Integer, String>(size); map = new ConcurrentHashMap<>(size);
hash = testPerformance(map, size); hash = testPerformance(map, size);
map = new TreeMap<>(); map = new ConcurrentSkipListMap<>();
// map = new ConcurrentSkipListMap<Integer, String>();
tree = testPerformance(map, size); tree = testPerformance(map, size);
if (hash < tree && mv < tree * 1.5) { if (hash < tree && mv < tree * 1.5) {
break; break;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论