summaryrefslogtreecommitdiffhomepage
path: root/benchmarks
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-10-02 11:35:45 +0200
committerTyge Løvset <[email protected]>2021-10-02 11:35:45 +0200
commitc952b72df544e5d4cb555140f4d0c3f251444b45 (patch)
treeeb450502f5313af5cea7f52450193c08ac2aad17 /benchmarks
parent09a07970445dc34b986b1836679616ab8de81792 (diff)
downloadSTC-modified-c952b72df544e5d4cb555140f4d0c3f251444b45.tar.gz
STC-modified-c952b72df544e5d4cb555140f4d0c3f251444b45.zip
Fixed benchmarks regarding cmap find bug.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/cdeq_benchmark.cpp6
-rw-r--r--benchmarks/clist_benchmark.cpp4
-rw-r--r--benchmarks/cmap_benchmark.cpp6
-rw-r--r--benchmarks/csmap_benchmark.cpp6
-rw-r--r--benchmarks/cvec_benchmark.cpp4
-rw-r--r--benchmarks/shootout2_cmap.cpp2
-rw-r--r--benchmarks/shootout3_csmap.cpp9
7 files changed, 18 insertions, 19 deletions
diff --git a/benchmarks/cdeq_benchmark.cpp b/benchmarks/cdeq_benchmark.cpp
index a12dddf0..0c4def50 100644
--- a/benchmarks/cdeq_benchmark.cpp
+++ b/benchmarks/cdeq_benchmark.cpp
@@ -43,8 +43,8 @@ Sample test_std_deque() {
c_forrange (N) con.push_back(stc64_random() & mask2);
s.test[FIND].t1 = clock();
size_t sum = 0;
- container::iterator it;
// Iteration - not inherent find - skipping
+ //container::iterator it;
//c_forrange (S) if ((it = std::find(con.begin(), con.end(), stc64_random() & mask2)) != con.end()) sum += *it;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
@@ -88,8 +88,8 @@ Sample test_stc_deque() {
c_forrange (N) cdeq_x_push_back(&con, stc64_random() & mask2);
s.test[FIND].t1 = clock();
size_t sum = 0;
- cdeq_x_iter_t it;
- //c_forrange (S) if ((it = cdeq_x_find(&con, stc64_random() & mask2)).ref) sum += *it.ref;
+ //cdeq_x_iter_t it, end = cdeq_x_end(&con);
+ //c_forrange (S) if ((it = cdeq_x_find(&con, stc64_random() & mask2)).ref != end.ref) sum += *it.ref;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
s.test[ITER].t1 = clock();
diff --git a/benchmarks/clist_benchmark.cpp b/benchmarks/clist_benchmark.cpp
index 7c1f164e..8151afa9 100644
--- a/benchmarks/clist_benchmark.cpp
+++ b/benchmarks/clist_benchmark.cpp
@@ -85,8 +85,8 @@ Sample test_stc_forward_list() {
c_forrange (N) clist_x_push_front(&con, stc64_random() & mask2);
s.test[FIND].t1 = clock();
size_t sum = 0;
- clist_x_iter_t it;
- //c_forrange (S) if ((it = clist_x_find(&con, stc64_random() & mask2)).ref) sum += *it.ref;
+ //clist_x_iter_t it, end = clist_x_end(&con);
+ //c_forrange (S) if ((it = clist_x_find(&con, stc64_random() & mask2)).ref != end.ref) sum += *it.ref;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
s.test[ITER].t1 = clock();
diff --git a/benchmarks/cmap_benchmark.cpp b/benchmarks/cmap_benchmark.cpp
index 98f90479..6e0ef325 100644
--- a/benchmarks/cmap_benchmark.cpp
+++ b/benchmarks/cmap_benchmark.cpp
@@ -91,8 +91,10 @@ Sample test_stc_unordered_map() {
stc64_srandom(seed);
s.test[FIND].t1 = clock();
size_t sum = 0;
- cmap_x_iter_t it;
- c_forrange (N) if ((it = cmap_x_find(&con, stc64_random() & mask1)).ref) sum += it.ref->second;
+ cmap_x_value_t* val;
+ c_forrange (N)
+ if ((val = cmap_x_get(&con, stc64_random() & mask1)))
+ sum += val->second;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
s.test[ITER].t1 = clock();
diff --git a/benchmarks/csmap_benchmark.cpp b/benchmarks/csmap_benchmark.cpp
index cd7f5509..18af9a34 100644
--- a/benchmarks/csmap_benchmark.cpp
+++ b/benchmarks/csmap_benchmark.cpp
@@ -91,8 +91,10 @@ Sample test_stc_map() {
stc64_srandom(seed);
s.test[FIND].t1 = clock();
size_t sum = 0;
- csmap_x_iter_t it;
- c_forrange (N) if ((it = csmap_x_find(&con, stc64_random() & mask1)).ref) sum += it.ref->second;
+ csmap_x_value_t* val;
+ c_forrange (N)
+ if ((val = csmap_x_get(&con, stc64_random() & mask1)))
+ sum += val->second;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
s.test[ITER].t1 = clock();
diff --git a/benchmarks/cvec_benchmark.cpp b/benchmarks/cvec_benchmark.cpp
index 755659a7..5cc2fb34 100644
--- a/benchmarks/cvec_benchmark.cpp
+++ b/benchmarks/cvec_benchmark.cpp
@@ -84,8 +84,8 @@ Sample test_stc_vector() {
c_forrange (N) cvec_x_push_back(&con, stc64_random() & mask2);
s.test[FIND].t1 = clock();
size_t sum = 0;
- cvec_x_iter_t it;
- //c_forrange (S) if ((it = cvec_x_find(&con, stc64_random() & mask2)).ref) sum += *it.ref;
+ //cvec_x_iter_t it, end = cvec_x_end(&con);
+ //c_forrange (S) if ((it = cvec_x_find(&con, stc64_random() & mask2)).ref != end.ref) sum += *it.ref;
s.test[FIND].t2 = clock();
s.test[FIND].sum = sum;
s.test[ITER].t1 = clock();
diff --git a/benchmarks/shootout2_cmap.cpp b/benchmarks/shootout2_cmap.cpp
index 6224c1f3..77d458bc 100644
--- a/benchmarks/shootout2_cmap.cpp
+++ b/benchmarks/shootout2_cmap.cpp
@@ -38,7 +38,7 @@ stc64_t rng;
#define CMAP_PUT(X, key, val) cmap_##X##_emplace_or_assign(&map, key, val).ref->second
#define CMAP_EMPLACE(X, key, val) cmap_##X##_emplace(&map, key, val).ref->second
#define CMAP_ERASE(X, key) cmap_##X##_erase(&map, key)
-#define CMAP_FIND(X, key) (cmap_##X##_find(map, key) != NULL)
+#define CMAP_FIND(X, key) cmap_##X##_contains(map, key)
#define CMAP_FOR(X, i) c_foreach (i, cmap_##X, map)
#define CMAP_ITEM(X, i) i.ref->second
#define CMAP_SIZE(X) cmap_##X##_size(map)
diff --git a/benchmarks/shootout3_csmap.cpp b/benchmarks/shootout3_csmap.cpp
index 6f124cd8..35abf8a8 100644
--- a/benchmarks/shootout3_csmap.cpp
+++ b/benchmarks/shootout3_csmap.cpp
@@ -179,8 +179,8 @@ static void ins_and_access_csmap_i(picobench::state& s)
picobench::scope scope(s);
c_forrange (s.iterations()) {
result += ++csmap_i_emplace(&map, stc64_random() & mask, 0).ref->second;
- csmap_i_iter_t it = csmap_i_find(&map, stc64_random() & mask);
- if (it.ref) csmap_i_erase(&map, it.ref->first);
+ csmap_i_value_t* val = csmap_i_get(&map, stc64_random() & mask);
+ if (val) csmap_i_erase(&map, val->first);
}
s.set_result(result + csmap_i_size(map));
csmap_i_del(&map);
@@ -216,11 +216,6 @@ static void ins_and_access_s(picobench::state& s)
c_forrange (s.iterations()) {
randomize(&str[0], str.size());
result += map.erase(str);
- /*auto it = map.find(str);
- if (it != map.end()) {
- ++result;
- map.erase(it);
- }*/
}
s.set_result(result + map.size());
}