From 7475268368b2364c87de171335d1a9254b88316f Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Mon, 22 Feb 2021 15:47:31 +0100 Subject: Minor. --- benchmarks/cmap_benchmark2.cpp | 16 ++++------------ benchmarks/csmap_benchmark2.cpp | 18 +++++++++--------- docs/cptr_api.md | 2 +- stc/clist.h | 4 ++-- stc/cvec.h | 4 ++-- 5 files changed, 18 insertions(+), 26 deletions(-) diff --git a/benchmarks/cmap_benchmark2.cpp b/benchmarks/cmap_benchmark2.cpp index 158775d5..e16d4f41 100644 --- a/benchmarks/cmap_benchmark2.cpp +++ b/benchmarks/cmap_benchmark2.cpp @@ -214,13 +214,9 @@ static void ins_and_access_s(picobench::state& s) picobench::scope scope(s); c_forrange (s.iterations()) { randomize(&str[0], str.size()); - map[str] = str; + map.emplace(str, str); randomize(&str[0], str.size()); - auto it = map.find(str); - if (it != map.end()) { - ++result; - map.erase(it); - } + result += map.erase(str); } s.set_result(result + map.size()); } @@ -236,13 +232,9 @@ static void ins_and_access_cmap_s(picobench::state& s) picobench::scope scope(s); c_forrange (s.iterations()) { randomize(str.str, cstr_size(str)); - cmap_str_emplace_or_assign(&map, str.str, str.str); + cmap_str_emplace(&map, str.str, str.str); randomize(str.str, cstr_size(str)); - cmap_str_iter_t it = cmap_str_find(&map, str.str); - if (it.ref) { - ++result; - cmap_str_erase_at(&map, it); - } + result += cmap_str_erase(&map, str.str); } s.set_result(result + cmap_str_size(map)); cstr_del(&str); diff --git a/benchmarks/csmap_benchmark2.cpp b/benchmarks/csmap_benchmark2.cpp index 02d25c51..19f29727 100644 --- a/benchmarks/csmap_benchmark2.cpp +++ b/benchmarks/csmap_benchmark2.cpp @@ -9,7 +9,7 @@ #define PICOBENCH_IMPLEMENT_WITH_MAIN #include "picobench.hpp" -enum {N1 = 2000000, S1 = 1}; +enum {N1 = 1000000, S1 = 1}; uint64_t seed = time(NULL); // 18237129837891; using omap_i = std::map; @@ -18,7 +18,7 @@ using omap_s = std::map; using_csmap(i, int, int); using_csmap(x, uint64_t, uint64_t); -using_csmap_strkey(s, cstr, cstr_del, cstr_clone); +using_csmap_str(); PICOBENCH_SUITE("Map1"); @@ -201,7 +201,7 @@ static void ins_and_access_s(picobench::state& s) picobench::scope scope(s); c_forrange (s.iterations()) { randomize(&str[0], str.size()); - map[str] = str; + map.emplace(str, str); randomize(&str[0], str.size()); auto it = map.find(str); if (it != map.end()) { @@ -216,23 +216,23 @@ static void ins_and_access_csmap_s(picobench::state& s) { cstr str = cstr_with_size(s.arg(), 'x'); size_t result = 0; - csmap_s map = csmap_s_init(); + csmap_str map = csmap_str_init(); stc64_srandom(seed); picobench::scope scope(s); c_forrange (s.iterations()) { randomize(str.str, cstr_size(str)); - csmap_s_emplace_or_assign(&map, str.str, cstr_clone(str)); + csmap_str_emplace(&map, str.str, str.str); randomize(str.str, cstr_size(str)); - csmap_s_iter_t it = csmap_s_find(&map, str.str); + csmap_str_iter_t it = csmap_str_find(&map, str.str); if (it.ref) { ++result; - csmap_s_erase(&map, it.ref->first.str); + csmap_str_erase(&map, it.ref->first.str); } } - s.set_result(result + csmap_s_size(map)); + s.set_result(result + csmap_str_size(map)); cstr_del(&str); - csmap_s_del(&map); + csmap_str_del(&map); } #define P samples(S1).iterations({N1/5, N1/5, N1/5, N1/10, N1/40}).args({13, 7, 8, 100, 1000}) diff --git a/docs/cptr_api.md b/docs/cptr_api.md index 6ddca701..678dfb6b 100644 --- a/docs/cptr_api.md +++ b/docs/cptr_api.md @@ -85,7 +85,7 @@ void Person_del(Person* p) { } // declare managed pointer and cvec with pointers using_cptr(pe, Person, c_no_compare, Person_del); -using_cvec(pe, Person*, c_no_compare, cptr_pe_del); +using_cvec(pe, Person*, c_no_compare, cptr_pe_del, c_no_clone); int main() { cvec_pe vec = cvec_pe_init(); diff --git a/stc/clist.h b/stc/clist.h index 95dee6e7..03b13a8c 100644 --- a/stc/clist.h +++ b/stc/clist.h @@ -60,8 +60,8 @@ using_clist_3(X, Value, c_default_compare) #define using_clist_3(X, Value, valueCompare) \ using_clist_7(X, Value, valueCompare, c_plain_del, c_plain_fromraw, c_plain_toraw, Value) -#define using_clist_5(X, Value, valueCompare, valueDel, valueFromRaw) \ - using_clist_7(X, Value, valueCompare, valueDel, valueFromRaw, c_plain_toraw, Value) +#define using_clist_5(X, Value, valueCompare, valueDel, valueClone) \ + using_clist_7(X, Value, valueCompare, valueDel, valueClone, c_plain_toraw, Value) #define using_clist_str() \ using_clist_7(str, cstr_t, cstr_compare_raw, cstr_del, cstr_from, cstr_c_str, const char*) diff --git a/stc/cvec.h b/stc/cvec.h index 1fa54d30..71a6b289 100644 --- a/stc/cvec.h +++ b/stc/cvec.h @@ -32,8 +32,8 @@ using_cvec_3(X, Value, c_default_compare) #define using_cvec_3(X, Value, valueCompare) \ using_cvec_7(X, Value, valueCompare, c_plain_del, c_plain_fromraw, c_plain_toraw, Value) -#define using_cvec_5(X, Value, valueCompare, valueDel, valueFromRaw) \ - using_cvec_7(X, Value, valueCompare, valueDel, valueFromRaw, c_plain_toraw, Value) +#define using_cvec_5(X, Value, valueCompare, valueDel, valueClone) \ + using_cvec_7(X, Value, valueCompare, valueDel, valueClone, c_plain_toraw, Value) #define using_cvec_str() \ using_cvec_7(str, cstr_t, cstr_compare_raw, cstr_del, cstr_from, cstr_c_str, const char*) -- cgit v1.2.3