diff options
| author | Tyge Løvset <[email protected]> | 2021-01-17 23:31:13 +0100 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2021-01-17 23:31:13 +0100 |
| commit | 92429751ed9dfaf87a5b8eb98995fa1d1f282626 (patch) | |
| tree | f975151c2e1efc3ccf1c8c07d3786e720b194e18 /examples | |
| parent | b1de47b93bcc706c9846fedda33fc9c8f282dd65 (diff) | |
| download | STC-modified-92429751ed9dfaf87a5b8eb98995fa1d1f282626.tar.gz STC-modified-92429751ed9dfaf87a5b8eb98995fa1d1f282626.zip | |
Updated examples.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/csmap_ex.c | 6 | ||||
| -rw-r--r-- | examples/tmap.cpp | 53 |
2 files changed, 56 insertions, 3 deletions
diff --git a/examples/csmap_ex.c b/examples/csmap_ex.c index 13fbe977..32b49694 100644 --- a/examples/csmap_ex.c +++ b/examples/csmap_ex.c @@ -11,9 +11,9 @@ using_csset_str(); int main(int argc, char **argv)
{
csmap_i map = csmap_i_init();
- time_t seed = 123 ; // time(NULL);
+ time_t seed = time(NULL);
- size_t n = 5000000;
+ size_t n = 500000;
uint64_t mask = (1ull << 20) - 1;
csmap_i_iter_t it;
@@ -26,7 +26,7 @@ int main(int argc, char **argv) }
}
stc64_srandom(seed);
- for (unsigned int i = 0; i < n - 50; ++i) {
+ for (unsigned int i = 0; i < n - 20; ++i) {
csmap_i_erase(&map, stc64_random() & mask);
}
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 <stc/csmap.h>
+#include <stc/cstr.h>
+#include <stc/crand.h>
+#include <stdio.h>
+#include <map>
+
+using_csmap(i, int, size_t);
+//using_csset_str();
+
+#include <time.h>
+
+int main(int argc, char **argv)
+{
+ std::map<int, size_t> 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);
+}
|
