summaryrefslogtreecommitdiffhomepage
path: root/benchmarks
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2021-02-24 20:47:58 +0100
committerTyge Løvset <[email protected]>2021-02-24 20:47:58 +0100
commitf445a6dc81eb7d408edfcb9c106b23b92d48d3fd (patch)
tree22f210ab01706aeda62a73ce188360d59bade986 /benchmarks
parent1745da92874e1799c7d60f6e6810b398e9ab9f15 (diff)
downloadSTC-modified-f445a6dc81eb7d408edfcb9c106b23b92d48d3fd.tar.gz
STC-modified-f445a6dc81eb7d408edfcb9c106b23b92d48d3fd.zip
Moved last bm.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/shootout3_csmap.cpp (renamed from benchmarks/csmap_benchmark2.cpp)20
1 files changed, 14 insertions, 6 deletions
diff --git a/benchmarks/csmap_benchmark2.cpp b/benchmarks/shootout3_csmap.cpp
index 19f29727..d7072445 100644
--- a/benchmarks/csmap_benchmark2.cpp
+++ b/benchmarks/shootout3_csmap.cpp
@@ -196,18 +196,22 @@ static void ins_and_access_s(picobench::state& s)
std::string str(s.arg(), 'x');
size_t result = 0;
MapStr map;
- stc64_srandom(seed);
picobench::scope scope(s);
+ stc64_srandom(seed);
c_forrange (s.iterations()) {
randomize(&str[0], str.size());
map.emplace(str, str);
+ }
+ stc64_srandom(seed);
+ c_forrange (s.iterations()) {
randomize(&str[0], str.size());
- auto it = map.find(str);
+ result += map.erase(str);
+ /*auto it = map.find(str);
if (it != map.end()) {
++result;
map.erase(it);
- }
+ }*/
}
s.set_result(result + map.size());
}
@@ -217,18 +221,22 @@ static void ins_and_access_csmap_s(picobench::state& s)
cstr str = cstr_with_size(s.arg(), 'x');
size_t result = 0;
csmap_str map = csmap_str_init();
- stc64_srandom(seed);
picobench::scope scope(s);
+ stc64_srandom(seed);
c_forrange (s.iterations()) {
randomize(str.str, cstr_size(str));
csmap_str_emplace(&map, str.str, str.str);
+ }
+ stc64_srandom(seed);
+ c_forrange (s.iterations()) {
randomize(str.str, cstr_size(str));
- csmap_str_iter_t it = csmap_str_find(&map, str.str);
+ result += csmap_str_erase(&map, str.str);
+ /*csmap_str_iter_t it = csmap_str_find(&map, str.str);
if (it.ref) {
++result;
csmap_str_erase(&map, it.ref->first.str);
- }
+ }*/
}
s.set_result(result + csmap_str_size(map));
cstr_del(&str);