From 92429751ed9dfaf87a5b8eb98995fa1d1f282626 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Sun, 17 Jan 2021 23:31:13 +0100 Subject: Updated examples. --- examples/tmap.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 examples/tmap.cpp (limited to 'examples/tmap.cpp') diff --git a/examples/tmap.cpp b/examples/tmap.cpp new file mode 100644 index 00000000..793ce6cc --- /dev/null +++ b/examples/tmap.cpp @@ -0,0 +1,53 @@ +#include +#include +#include +#include +#include + +using_csmap(i, int, size_t); +//using_csset_str(); + +#include + +int main(int argc, char **argv) +{ + std::map tmap; + csmap_i map = csmap_i_init(); + csmap_i_iter_t it; + time_t seed = time(NULL); + + size_t n = 2000000; + uint64_t mask = (1ull << 22) - 1; + + clock_t t1 = clock(); + stc64_srandom(seed); + for (size_t i = 0; i < n; ++i) { + uint64_t x = stc64_random() & mask; + tmap.emplace(x, i); + } + size_t s1 = tmap.size(); + stc64_srandom(seed); + for (size_t i = 0; i < n - 50; ++i) { + uint64_t x = stc64_random() & mask; + tmap.erase(x); + } + clock_t t2 = clock(); + + stc64_srandom(seed); + for (size_t i = 0; i < n; ++i) { + uint64_t x = stc64_random() & mask; + csmap_i_emplace(&map, x, i); + } + size_t s2 = csmap_i_size(map); + stc64_srandom(seed); + for (size_t i = 0; i < n - 50; ++i) { + uint64_t x = stc64_random() & mask; + csmap_i_erase(&map, x); + } + clock_t t3 = clock(); + + printf("%zu %zu\n", s1, s2); + printf("%zu %zu\n", tmap.size(), csmap_i_size(map)); + + printf("time: %f %f\n", ((float)t2-t1) / CLOCKS_PER_SEC, ((float)t3-t2) / CLOCKS_PER_SEC); +} -- cgit v1.2.3