diff options
| author | Tyge Løvset <[email protected]> | 2022-04-18 00:44:51 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-04-18 00:44:51 +0200 |
| commit | 00804d9ff488f63468a0bb528c7b807aea7c3ea3 (patch) | |
| tree | 51b47787adc853bd1a10ec820a6ef5c184fa2498 /benchmarks | |
| parent | 4436a1c0ac37dc2e73a2134d5ad85c010340b35d (diff) | |
| download | STC-modified-00804d9ff488f63468a0bb528c7b807aea7c3ea3.tar.gz STC-modified-00804d9ff488f63468a0bb528c7b807aea7c3ea3.zip | |
Converted all example to use cstr_str(&s) instead of s.str to allow SSO string. Fixed misc warnings.
Diffstat (limited to 'benchmarks')
| -rw-r--r-- | benchmarks/build_all.sh | 1 | ||||
| -rw-r--r-- | benchmarks/misc/string_bench.cpp | 2 | ||||
| -rw-r--r-- | benchmarks/picobench/picobench_cmap.cpp | 11 | ||||
| -rw-r--r-- | benchmarks/picobench/picobench_csmap.cpp | 13 |
4 files changed, 15 insertions, 12 deletions
diff --git a/benchmarks/build_all.sh b/benchmarks/build_all.sh index 348a79dd..fda58f69 100644 --- a/benchmarks/build_all.sh +++ b/benchmarks/build_all.sh @@ -1,5 +1,6 @@ #!/bin/bash cc='g++ -std=c++17' +#cc='g++ -std=c++17 -DSTC_USE_SSO' #cc='clang' #cc='clang -c -DSTC_HEADER' #cc='cl -nologo' diff --git a/benchmarks/misc/string_bench.cpp b/benchmarks/misc/string_bench.cpp index 37db0201..65bf7a0e 100644 --- a/benchmarks/misc/string_bench.cpp +++ b/benchmarks/misc/string_bench.cpp @@ -19,7 +19,7 @@ std::vector<std::string> read_file(const char* name) c_auto (cstr, line)
c_autovar (FILE* f = fopen(name, "r"), fclose(f))
while (cstr_getline(&line, f))
- data.emplace_back(line.str);
+ data.emplace_back(cstr_str(&line));
return data;
}
diff --git a/benchmarks/picobench/picobench_cmap.cpp b/benchmarks/picobench/picobench_cmap.cpp index 15ab2aa7..52d219bc 100644 --- a/benchmarks/picobench/picobench_cmap.cpp +++ b/benchmarks/picobench/picobench_cmap.cpp @@ -198,6 +198,7 @@ static void ins_and_access_s(picobench::state& s) static void ins_and_access_cmap_s(picobench::state& s)
{
cstr str = cstr_with_size(s.arg(), 'x');
+ char* buf = cstr_data(&str);
size_t result = 0;
cmap_str map = cmap_str_init();
cmap_str_max_load_factor(&map, (int)MaxLoadFactor100 / 100.0);
@@ -205,12 +206,12 @@ static void ins_and_access_cmap_s(picobench::state& s) picobench::scope scope(s);
c_forrange (s.iterations()) {
- randomize(str.str, cstr_size(str));
- //if (cstr_size(str) > 30) { printf("%s\n", str.str); exit(0); }
- cmap_str_emplace(&map, str.str, str.str);
+ randomize(buf, s.arg());
+ //if (s.arg() > 30) { printf("%s\n", buf); exit(0); }
+ cmap_str_emplace(&map, buf, buf);
- randomize(str.str, cstr_size(str));
- result += cmap_str_erase(&map, str.str);
+ randomize(buf, s.arg());
+ result += cmap_str_erase(&map, buf);
}
s.set_result(result + cmap_str_size(map));
cstr_drop(&str);
diff --git a/benchmarks/picobench/picobench_csmap.cpp b/benchmarks/picobench/picobench_csmap.cpp index 71d54832..be645932 100644 --- a/benchmarks/picobench/picobench_csmap.cpp +++ b/benchmarks/picobench/picobench_csmap.cpp @@ -223,23 +223,24 @@ static void ins_and_access_s(picobench::state& s) static void ins_and_access_csmap_s(picobench::state& s)
{
cstr str = cstr_with_size(s.arg(), 'x');
+ char* buf = cstr_data(&str);
size_t result = 0;
csmap_str map = csmap_str_init();
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);
+ randomize(buf, s.arg());
+ csmap_str_emplace(&map, buf, buf);
}
stc64_srandom(seed);
c_forrange (s.iterations()) {
- randomize(str.str, cstr_size(str));
- result += csmap_str_erase(&map, str.str);
- /*csmap_str_iter it = csmap_str_find(&map, str.str);
+ randomize(buf, s.arg());
+ result += csmap_str_erase(&map, buf);
+ /*csmap_str_iter it = csmap_str_find(&map, buf);
if (it.ref) {
++result;
- csmap_str_erase(&map, it.ref->first.str);
+ csmap_str_erase(&map, cstr_str(&it.ref->first));
}*/
}
s.set_result(result + csmap_str_size(map));
|
