diff options
| author | Tyge Løvset <[email protected]> | 2022-09-26 08:08:47 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-09-26 08:08:47 +0200 |
| commit | ca01dd726e2ed8f8b69f8ff08855e80f4eea7247 (patch) | |
| tree | 0ce1594c39d18a93212f066fd8c3c2477fc6f22b /benchmarks | |
| parent | ad5be4349232bbba96c0974bc2693ec7331c4b12 (diff) | |
| download | STC-modified-ca01dd726e2ed8f8b69f8ff08855e80f4eea7247.tar.gz STC-modified-ca01dd726e2ed8f8b69f8ff08855e80f4eea7247.zip | |
DEPRECATED: c_forrange(): replaced with c_forloop(). This uses 'long long' as iter type, i.e. "%lld" printf format.
crange_from() renamed to crange_make().
More docs.
Diffstat (limited to 'benchmarks')
| -rw-r--r-- | benchmarks/external/ankerl/unordered_dense.h | 11 | ||||
| -rw-r--r-- | benchmarks/misc/cbits_benchmark.cpp | 12 | ||||
| -rw-r--r-- | benchmarks/misc/rust_cmap.c | 6 | ||||
| -rw-r--r-- | benchmarks/picobench/picobench_cmap.cpp | 34 | ||||
| -rw-r--r-- | benchmarks/picobench/picobench_csmap.cpp | 40 | ||||
| -rw-r--r-- | benchmarks/plotbench/cdeq_benchmark.cpp | 40 | ||||
| -rw-r--r-- | benchmarks/plotbench/clist_benchmark.cpp | 36 | ||||
| -rw-r--r-- | benchmarks/plotbench/cmap_benchmark.cpp | 40 | ||||
| -rw-r--r-- | benchmarks/plotbench/cpque_benchmark.cpp | 10 | ||||
| -rw-r--r-- | benchmarks/plotbench/csmap_benchmark.cpp | 40 | ||||
| -rw-r--r-- | benchmarks/plotbench/cvec_benchmark.cpp | 32 |
11 files changed, 150 insertions, 151 deletions
diff --git a/benchmarks/external/ankerl/unordered_dense.h b/benchmarks/external/ankerl/unordered_dense.h index 220c65b8..3d7b256a 100644 --- a/benchmarks/external/ankerl/unordered_dense.h +++ b/benchmarks/external/ankerl/unordered_dense.h @@ -1,7 +1,7 @@ ///////////////////////// ankerl::unordered_dense::{map, set} ///////////////////////// // A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. -// Version 1.3.1 +// Version 1.3.3 // https://github.com/martinus/unordered_dense // // Licensed under the MIT License <http://opensource.org/licenses/MIT>. @@ -32,7 +32,7 @@ // see https://semver.org/spec/v2.0.0.html #define ANKERL_UNORDERED_DENSE_VERSION_MAJOR 1 // NOLINT(cppcoreguidelines-macro-usage) incompatible API changes #define ANKERL_UNORDERED_DENSE_VERSION_MINOR 3 // NOLINT(cppcoreguidelines-macro-usage) backwards compatible functionality -#define ANKERL_UNORDERED_DENSE_VERSION_PATCH 1 // NOLINT(cppcoreguidelines-macro-usage) backwards compatible bug fixes +#define ANKERL_UNORDERED_DENSE_VERSION_PATCH 3 // NOLINT(cppcoreguidelines-macro-usage) backwards compatible bug fixes // API versioning with inline namespace, see https://www.foonathan.net/2018/11/inline-namespaces/ #define ANKERL_UNORDERED_DENSE_VERSION_CONCAT1(major, minor, patch) v##major##_##minor##_##patch @@ -214,10 +214,9 @@ static inline void mum(uint64_t* a, uint64_t* b) { template <typename T, typename Enable = void> struct hash { - using is_avalanching = void; auto operator()(T const& obj) const noexcept(noexcept(std::declval<std::hash<T>>().operator()(std::declval<T const&>()))) -> uint64_t { - return detail::wyhash::hash(std::hash<T>{}(obj)); + return std::hash<T>{}(obj); } }; @@ -1189,12 +1188,12 @@ public: return do_find(key); } - auto contains(Key const& key) const -> size_t { + auto contains(Key const& key) const -> bool { return find(key) != end(); } template <class K, class H = Hash, class KE = KeyEqual, is_transparent<H, KE> = true> - auto contains(K const& key) const -> size_t { + auto contains(K const& key) const -> bool { return find(key) != end(); } diff --git a/benchmarks/misc/cbits_benchmark.cpp b/benchmarks/misc/cbits_benchmark.cpp index dd709db1..6dea2808 100644 --- a/benchmarks/misc/cbits_benchmark.cpp +++ b/benchmarks/misc/cbits_benchmark.cpp @@ -42,7 +42,7 @@ int main(int argc, char **argv) csrandom(seed); current_time = get_time_in_ms(); - c_forrange (40 * N) + c_forloop (40 * N) { uint64_t r = crandom(); bools[r & (N-1)] = r & 1<<29; @@ -51,7 +51,7 @@ int main(int argc, char **argv) difference1 = get_time_in_ms() - current_time; current_time = get_time_in_ms(); - c_forrange (100) c_forrange (num, N) + c_forloop (100) c_forloop (num, N) { total += bools[num]; } @@ -70,7 +70,7 @@ int main(int argc, char **argv) current_time = get_time_in_ms(); bitset<N> bits; - c_forrange (40 * N) + c_forloop (40 * N) { uint64_t r = crandom(); bits[r & (N-1)] = r & 1<<29; @@ -79,7 +79,7 @@ int main(int argc, char **argv) difference1 = get_time_in_ms() - current_time; current_time = get_time_in_ms(); - c_forrange (100) c_forrange (num, N) + c_forloop (100) c_forloop (num, N) { total += bits[num]; } @@ -96,7 +96,7 @@ int main(int argc, char **argv) current_time = get_time_in_ms(); cbits bits2 = cbits_with_size(N, false); - c_forrange (40 * N) + c_forloop (40 * N) { uint64_t r = crandom(); cbits_set_value(&bits2, r & (N-1), r & 1<<29); @@ -105,7 +105,7 @@ int main(int argc, char **argv) difference1 = get_time_in_ms() - current_time; current_time = get_time_in_ms(); - c_forrange (100) c_forrange (num, N) + c_forloop (100) c_forloop (num, N) { total += cbits_at(&bits2, num); } diff --git a/benchmarks/misc/rust_cmap.c b/benchmarks/misc/rust_cmap.c index afd384fc..e5d85b1c 100644 --- a/benchmarks/misc/rust_cmap.c +++ b/benchmarks/misc/rust_cmap.c @@ -33,7 +33,7 @@ int main() uint64_t rng[3] = {1872361123, 123879177, 87739234}, sum; clock_t now = clock(); - c_forrange (n) { + c_forloop (n) { uint64_t key = romu_trio(rng) & mask; cmap_u64_insert(&m, key, 0).ref->second += 1; } @@ -41,7 +41,7 @@ int main() now = clock(); sum = 0; - c_forrange (key, mask + 1) { sum += cmap_u64_contains(&m, key); } + c_forloop (key, mask + 1) { sum += cmap_u64_contains(&m, key); } printf("lookup : %" PRIuMAX "ms \tsum : %" PRIuMAX "\n", (clock() - now)/ms, sum); now = clock(); @@ -51,7 +51,7 @@ int main() uint64_t rng2[3] = {1872361123, 123879177, 87739234}; now = clock(); - c_forrange (n) { + c_forloop (n) { uint64_t key = romu_trio(rng2) & mask; cmap_u64_erase(&m, key); } diff --git a/benchmarks/picobench/picobench_cmap.cpp b/benchmarks/picobench/picobench_cmap.cpp index 7d114d30..afc3e3d1 100644 --- a/benchmarks/picobench/picobench_cmap.cpp +++ b/benchmarks/picobench/picobench_cmap.cpp @@ -54,14 +54,14 @@ static void ins_and_erase_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) + c_forloop (s.iterations()) map[crandom()]; map.clear(); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) map[crandom()]; csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) map.erase(crandom()); s.set_result(map.size()); } @@ -73,14 +73,14 @@ static void ins_and_erase_cmap_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_i_insert(&map, crandom(), 0); cmap_i_clear(&map); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_i_insert(&map, crandom(), 0); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_i_erase(&map, crandom()); s.set_result(cmap_i_size(&map)); cmap_i_drop(&map); @@ -93,14 +93,14 @@ static void ins_and_erase_cmap_x(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_x_insert(&map, crandom(), 0); cmap_x_clear(&map); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_x_insert(&map, crandom(), 0); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) cmap_x_erase(&map, crandom()); s.set_result(cmap_x_size(&map)); cmap_x_drop(&map); @@ -126,7 +126,7 @@ static void ins_and_access_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (N1) + c_forloop (N1) result += ++map[crandom() & mask]; s.set_result(result); } @@ -140,7 +140,7 @@ static void ins_and_access_cmap_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (N1) + c_forloop (N1) result += ++cmap_i_insert(&map, crandom() & mask, 0).ref->second; s.set_result(result); cmap_i_drop(&map); @@ -174,7 +174,7 @@ static void ins_and_access_s(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(&str[0], str.size()); map.emplace(str, str); randomize(&str[0], str.size()); @@ -193,7 +193,7 @@ static void ins_and_access_cmap_s(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(buf, s.arg()); //if (s.arg() > 30) { printf("%s\n", buf); exit(0); } cmap_str_emplace(&map, buf, buf); @@ -228,7 +228,7 @@ static void iterate_x(picobench::state& s) size_t result = 0; // measure insert then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { map[crandom()] = n; if (!(n & K)) for (auto const& keyVal : map) result += keyVal.second; @@ -238,7 +238,7 @@ static void iterate_x(picobench::state& s) csrandom(seed); // measure erase then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { map.erase(crandom()); if (!(n & K)) for (auto const& keyVal : map) result += keyVal.second; @@ -257,7 +257,7 @@ static void iterate_cmap_x(picobench::state& s) size_t result = 0; // measure insert then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { cmap_x_insert_or_assign(&map, crandom(), n); if (!(n & K)) c_foreach (i, cmap_x, map) result += i.ref->second; @@ -267,7 +267,7 @@ static void iterate_cmap_x(picobench::state& s) csrandom(seed); // measure erase then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { cmap_x_erase(&map, crandom()); if (!(n & K)) c_foreach (i, cmap_x, map) result += i.ref->second; diff --git a/benchmarks/picobench/picobench_csmap.cpp b/benchmarks/picobench/picobench_csmap.cpp index 5caab6cc..1007cfbb 100644 --- a/benchmarks/picobench/picobench_csmap.cpp +++ b/benchmarks/picobench/picobench_csmap.cpp @@ -38,7 +38,7 @@ static void ctor_and_ins_one_i(picobench::state& s) { size_t result = 0; picobench::scope scope(s); - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { MapInt map; map[n]; result += map.size(); @@ -50,7 +50,7 @@ static void ctor_and_ins_one_csmap_i(picobench::state& s) { size_t result = 0; picobench::scope scope(s); - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { csmap_i map = csmap_i_init(); csmap_i_insert(&map, n, 0); result += csmap_i_size(&map); @@ -73,7 +73,7 @@ static void insert_i(picobench::state& s) MapInt map; csrandom(seed); picobench::scope scope(s); - c_forrange (n, s.iterations()) + c_forloop (n, s.iterations()) map.emplace(crandom() & 0xfffffff, n); s.set_result(map.size()); } @@ -83,7 +83,7 @@ static void insert_csmap_i(picobench::state& s) csmap_i map = csmap_i_init(); csrandom(seed); picobench::scope scope(s); - c_forrange (n, s.iterations()) + c_forloop (n, s.iterations()) csmap_i_insert(&map, crandom() & 0xfffffff, n); s.set_result(csmap_i_size(&map)); csmap_i_drop(&map); @@ -106,17 +106,17 @@ static void ins_and_erase_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (i, s.iterations()) + c_forloop (i, s.iterations()) map.emplace(crandom() & mask, i); result = map.size(); map.clear(); csrandom(seed); - c_forrange (i, s.iterations()) + c_forloop (i, s.iterations()) map[crandom() & mask] = i; csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) map.erase(crandom() & mask); s.set_result(result); } @@ -129,17 +129,17 @@ static void ins_and_erase_csmap_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (i, s.iterations()) + c_forloop (i, s.iterations()) csmap_i_insert(&map, crandom() & mask, i); result = csmap_i_size(&map); csmap_i_clear(&map); csrandom(seed); - c_forrange (i, s.iterations()) + c_forloop (i, s.iterations()) csmap_i_insert_or_assign(&map, crandom() & mask, i); csrandom(seed); - c_forrange (s.iterations()) + c_forloop (s.iterations()) csmap_i_erase(&map, crandom() & mask); s.set_result(result); csmap_i_drop(&map); @@ -161,7 +161,7 @@ static void ins_and_access_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { result += ++map[crandom() & mask]; auto it = map.find(crandom() & mask); if (it != map.end()) map.erase(it->first); @@ -177,7 +177,7 @@ static void ins_and_access_csmap_i(picobench::state& s) csrandom(seed); picobench::scope scope(s); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { result += ++csmap_i_insert(&map, crandom() & mask, 0).ref->second; const csmap_i_value* val = csmap_i_get(&map, crandom() & mask); if (val) csmap_i_erase(&map, val->first); @@ -208,12 +208,12 @@ static void ins_and_access_s(picobench::state& s) picobench::scope scope(s); csrandom(seed); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(&str[0], str.size()); map.emplace(str, str); } csrandom(seed); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(&str[0], str.size()); result += map.erase(str); } @@ -229,12 +229,12 @@ static void ins_and_access_csmap_s(picobench::state& s) picobench::scope scope(s); csrandom(seed); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(buf, s.arg()); csmap_str_emplace(&map, buf, buf); } csrandom(seed); - c_forrange (s.iterations()) { + c_forloop (s.iterations()) { randomize(buf, s.arg()); result += csmap_str_erase(&map, buf); /*csmap_str_iter it = csmap_str_find(&map, buf); @@ -266,7 +266,7 @@ static void iterate_x(picobench::state& s) size_t result = 0; // measure insert then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { map[crandom()] = n; if (!(n & K)) for (auto const& keyVal : map) result += keyVal.second; @@ -276,7 +276,7 @@ static void iterate_x(picobench::state& s) csrandom(seed); // measure erase then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { map.erase(crandom()); if (!(n & K)) for (auto const& keyVal : map) result += keyVal.second; @@ -294,7 +294,7 @@ static void iterate_csmap_x(picobench::state& s) size_t result = 0; // measure insert then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { csmap_x_insert_or_assign(&map, crandom(), n); if (!(n & K)) c_foreach (i, csmap_x, map) result += i.ref->second; @@ -304,7 +304,7 @@ static void iterate_csmap_x(picobench::state& s) csrandom(seed); // measure erase then iterate whole map - c_forrange (n, s.iterations()) { + c_forloop (n, s.iterations()) { csmap_x_erase(&map, crandom()); if (!(n & K)) c_foreach (i, csmap_x, map) result += i.ref->second; diff --git a/benchmarks/plotbench/cdeq_benchmark.cpp b/benchmarks/plotbench/cdeq_benchmark.cpp index 49db3914..de85114f 100644 --- a/benchmarks/plotbench/cdeq_benchmark.cpp +++ b/benchmarks/plotbench/cdeq_benchmark.cpp @@ -29,29 +29,29 @@ Sample test_std_deque() { s.test[INSERT].t1 = clock(); container con; csrandom(seed); - c_forrange (N/3) con.push_front(crandom() & mask1); - c_forrange (N/3) {con.push_back(crandom() & mask1); con.pop_front();} - c_forrange (N/3) con.push_back(crandom() & mask1); + c_forloop (N/3) con.push_front(crandom() & mask1); + c_forloop (N/3) {con.push_back(crandom() & mask1); con.pop_front();} + c_forloop (N/3) con.push_back(crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = con.size(); s.test[ERASE].t1 = clock(); - c_forrange (con.size()/2) { con.pop_front(); con.pop_back(); } + c_forloop (con.size()/2) { con.pop_front(); con.pop_back(); } s.test[ERASE].t2 = clock(); s.test[ERASE].sum = con.size(); }{ container con; csrandom(seed); - c_forrange (N) con.push_back(crandom() & mask2); + c_forloop (N) con.push_back(crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; // Iteration - not inherent find - skipping //container::iterator it; - //c_forrange (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; + //c_forloop (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_forrange (i, N) sum += con[i]; + c_forloop (R) c_forloop (i, N) sum += con[i]; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -73,29 +73,29 @@ Sample test_stc_deque() { container con = cdeq_x_init(); //cdeq_x_reserve(&con, N); csrandom(seed); - c_forrange (N/3) cdeq_x_push_front(&con, crandom() & mask1); - c_forrange (N/3) {cdeq_x_push_back(&con, crandom() & mask1); cdeq_x_pop_front(&con);} - c_forrange (N/3) cdeq_x_push_back(&con, crandom() & mask1); + c_forloop (N/3) cdeq_x_push_front(&con, crandom() & mask1); + c_forloop (N/3) {cdeq_x_push_back(&con, crandom() & mask1); cdeq_x_pop_front(&con);} + c_forloop (N/3) cdeq_x_push_back(&con, crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = cdeq_x_size(&con); s.test[ERASE].t1 = clock(); - c_forrange (cdeq_x_size(&con)/2) { cdeq_x_pop_front(&con); cdeq_x_pop_back(&con); } + c_forloop (cdeq_x_size(&con)/2) { cdeq_x_pop_front(&con); cdeq_x_pop_back(&con); } s.test[ERASE].t2 = clock(); s.test[ERASE].sum = cdeq_x_size(&con); cdeq_x_drop(&con); }{ csrandom(seed); container con = cdeq_x_init(); - c_forrange (N) cdeq_x_push_back(&con, crandom() & mask2); + c_forloop (N) cdeq_x_push_back(&con, crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; //cdeq_x_iter it, end = cdeq_x_end(&con); - //c_forrange (S) if ((it = cdeq_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; + //c_forloop (S) if ((it = cdeq_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_forrange (i, N) sum += con.data[i]; + c_forloop (R) c_forloop (i, N) sum += con.data[i]; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -109,30 +109,30 @@ Sample test_stc_deque() { int main(int argc, char* argv[]) { Sample std_s[SAMPLES + 1], stc_s[SAMPLES + 1]; - c_forrange (i, int, SAMPLES) { + c_forloop (i, SAMPLES) { std_s[i] = test_std_deque(); stc_s[i] = test_stc_deque(); - if (i > 0) c_forrange (j, int, N_TESTS) { + if (i > 0) c_forloop (j, N_TESTS) { if (secs(std_s[i].test[j]) < secs(std_s[0].test[j])) std_s[0].test[j] = std_s[i].test[j]; if (secs(stc_s[i].test[j]) < secs(stc_s[0].test[j])) stc_s[0].test[j] = stc_s[i].test[j]; - if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %d, sample %d\n", i, j); + if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %lld, sample %lld\n", i, j); } } const char* comp = argc > 1 ? argv[1] : "test"; bool header = (argc > 2 && argv[2][0] == '1'); float std_sum = 0, stc_sum = 0; - c_forrange (j, N_TESTS) { + c_forloop (j, N_TESTS) { std_sum += secs(std_s[0].test[j]); stc_sum += secs(stc_s[0].test[j]); } if (header) printf("Compiler,Library,C,Method,Seconds,Ratio\n"); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, operations[j], secs(std_s[0].test[j]), 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, "total", std_sum, 1.0f); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, operations[j], secs(stc_s[0].test[j]), secs(std_s[0].test[j]) ? secs(stc_s[0].test[j])/secs(std_s[0].test[j]) : 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, "total", stc_sum, stc_sum/std_sum); } diff --git a/benchmarks/plotbench/clist_benchmark.cpp b/benchmarks/plotbench/clist_benchmark.cpp index ddd1e2f0..c18ee78e 100644 --- a/benchmarks/plotbench/clist_benchmark.cpp +++ b/benchmarks/plotbench/clist_benchmark.cpp @@ -29,28 +29,28 @@ Sample test_std_forward_list() { s.test[INSERT].t1 = clock(); container con; csrandom(seed); - c_forrange (N/2) con.push_front(crandom() & mask1); - c_forrange (N/2) con.push_front(crandom() & mask1); + c_forloop (N/2) con.push_front(crandom() & mask1); + c_forloop (N/2) con.push_front(crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = 0; s.test[ERASE].t1 = clock(); - c_forrange (N) con.pop_front(); + c_forloop (N) con.pop_front(); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = 0; }{ container con; csrandom(seed); - c_forrange (N) con.push_front(crandom() & mask2); + c_forloop (N) con.push_front(crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; container::iterator it; // Iteration - not inherent find - skipping - //c_forrange (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; + //c_forloop (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) for (auto i: con) sum += i; + c_forloop (R) for (auto i: con) sum += i; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -71,28 +71,28 @@ Sample test_stc_forward_list() { s.test[INSERT].t1 = clock(); container con = clist_x_init(); csrandom(seed); - c_forrange (N/2) clist_x_push_front(&con, crandom() & mask1); - c_forrange (N/2) clist_x_push_back(&con, crandom() & mask1); + c_forloop (N/2) clist_x_push_front(&con, crandom() & mask1); + c_forloop (N/2) clist_x_push_back(&con, crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = 0; s.test[ERASE].t1 = clock(); - c_forrange (N) clist_x_pop_front(&con); + c_forloop (N) clist_x_pop_front(&con); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = 0; clist_x_drop(&con); }{ csrandom(seed); container con = clist_x_init(); - c_forrange (N) clist_x_push_front(&con, crandom() & mask2); + c_forloop (N) clist_x_push_front(&con, crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; //clist_x_iter it, end = clist_x_end(&con); - //c_forrange (S) if ((it = clist_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; + //c_forloop (S) if ((it = clist_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_foreach (i, clist_x, con) sum += *i.ref; + c_forloop (R) c_foreach (i, clist_x, con) sum += *i.ref; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -106,30 +106,30 @@ Sample test_stc_forward_list() { int main(int argc, char* argv[]) { Sample std_s[SAMPLES + 1], stc_s[SAMPLES + 1]; - c_forrange (i, int, SAMPLES) { + c_forloop (i, SAMPLES) { std_s[i] = test_std_forward_list(); stc_s[i] = test_stc_forward_list(); - if (i > 0) c_forrange (j, int, N_TESTS) { + if (i > 0) c_forloop (j, N_TESTS) { if (secs(std_s[i].test[j]) < secs(std_s[0].test[j])) std_s[0].test[j] = std_s[i].test[j]; if (secs(stc_s[i].test[j]) < secs(stc_s[0].test[j])) stc_s[0].test[j] = stc_s[i].test[j]; - if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %d, sample %d\n", i, j); + if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %lld, sample %lld\n", i, j); } } const char* comp = argc > 1 ? argv[1] : "test"; bool header = (argc > 2 && argv[2][0] == '1'); float std_sum = 0, stc_sum = 0; - c_forrange (j, N_TESTS) { + c_forloop (j, N_TESTS) { std_sum += secs(std_s[0].test[j]); stc_sum += secs(stc_s[0].test[j]); } if (header) printf("Compiler,Library,C,Method,Seconds,Ratio\n"); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, operations[j], secs(std_s[0].test[j]), 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, "total", std_sum, 1.0f); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, operations[j], secs(stc_s[0].test[j]), secs(std_s[0].test[j]) ? secs(stc_s[0].test[j])/secs(std_s[0].test[j]) : 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, "total", stc_sum, stc_sum/std_sum); }
\ No newline at end of file diff --git a/benchmarks/plotbench/cmap_benchmark.cpp b/benchmarks/plotbench/cmap_benchmark.cpp index cf20c927..cca90461 100644 --- a/benchmarks/plotbench/cmap_benchmark.cpp +++ b/benchmarks/plotbench/cmap_benchmark.cpp @@ -29,30 +29,30 @@ Sample test_std_unordered_map() { csrandom(seed); s.test[INSERT].t1 = clock(); container con; - c_forrange (i, N/2) con.emplace(crandom() & mask1, i); - c_forrange (i, N/2) con.emplace(i, i); + c_forloop (i, N/2) con.emplace(crandom() & mask1, i); + c_forloop (i, N/2) con.emplace(i, i); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = con.size(); csrandom(seed); s.test[ERASE].t1 = clock(); - c_forrange (N) con.erase(crandom() & mask1); + c_forloop (N) con.erase(crandom() & mask1); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = con.size(); }{ container con; csrandom(seed); - c_forrange (i, N/2) con.emplace(crandom() & mask1, i); - c_forrange (i, N/2) con.emplace(i, i); + c_forloop (i, N/2) con.emplace(crandom() & mask1, i); + c_forloop (i, N/2) con.emplace(i, i); csrandom(seed); s.test[FIND].t1 = clock(); size_t sum = 0; container::iterator it; - c_forrange (N) if ((it = con.find(crandom() & mask1)) != con.end()) sum += it->second; + c_forloop (N) if ((it = con.find(crandom() & mask1)) != con.end()) sum += it->second; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) for (auto i: con) sum += i.second; + c_forloop (R) for (auto i: con) sum += i.second; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -73,33 +73,33 @@ Sample test_stc_unordered_map() { csrandom(seed); s.test[INSERT].t1 = clock(); container con = cmap_x_init(); - c_forrange (i, N/2) cmap_x_insert(&con, crandom() & mask1, i); - c_forrange (i, N/2) cmap_x_insert(&con, i, i); + c_forloop (i, N/2) cmap_x_insert(&con, crandom() & mask1, i); + c_forloop (i, N/2) cmap_x_insert(&con, i, i); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = cmap_x_size(&con); csrandom(seed); s.test[ERASE].t1 = clock(); - c_forrange (N) cmap_x_erase(&con, crandom() & mask1); + c_forloop (N) cmap_x_erase(&con, crandom() & mask1); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = cmap_x_size(&con); cmap_x_drop(&con); }{ container con = cmap_x_init(); csrandom(seed); - c_forrange (i, N/2) cmap_x_insert(&con, crandom() & mask1, i); - c_forrange (i, N/2) cmap_x_insert(&con, i, i); + c_forloop (i, N/2) cmap_x_insert(&con, crandom() & mask1, i); + c_forloop (i, N/2) cmap_x_insert(&con, i, i); csrandom(seed); s.test[FIND].t1 = clock(); size_t sum = 0; const cmap_x_value* val; - c_forrange (N) + c_forloop (N) if ((val = cmap_x_get(&con, crandom() & mask1))) sum += val->second; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_foreach (i, cmap_x, con) sum += i.ref->second; + c_forloop (R) c_foreach (i, cmap_x, con) sum += i.ref->second; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -113,30 +113,30 @@ Sample test_stc_unordered_map() { int main(int argc, char* argv[]) { Sample std_s[SAMPLES + 1], stc_s[SAMPLES + 1]; - c_forrange (i, int, SAMPLES) { + c_forloop (i, SAMPLES) { std_s[i] = test_std_unordered_map(); stc_s[i] = test_stc_unordered_map(); - if (i > 0) c_forrange (j, int, N_TESTS) { + if (i > 0) c_forloop (j, N_TESTS) { if (secs(std_s[i].test[j]) < secs(std_s[0].test[j])) std_s[0].test[j] = std_s[i].test[j]; if (secs(stc_s[i].test[j]) < secs(stc_s[0].test[j])) stc_s[0].test[j] = stc_s[i].test[j]; - if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %d, sample %d\n", i, j); + if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %lld, sample %lld\n", i, j); } } const char* comp = argc > 1 ? argv[1] : "test"; bool header = (argc > 2 && argv[2][0] == '1'); float std_sum = 0, stc_sum = 0; - c_forrange (j, N_TESTS) { + c_forloop (j, N_TESTS) { std_sum += secs(std_s[0].test[j]); stc_sum += secs(stc_s[0].test[j]); } if (header) printf("Compiler,Library,C,Method,Seconds,Ratio\n"); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, operations[j], secs(std_s[0].test[j]), 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, "total", std_sum, 1.0f); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, operations[j], secs(stc_s[0].test[j]), secs(std_s[0].test[j]) ? secs(stc_s[0].test[j])/secs(std_s[0].test[j]) : 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, "total", stc_sum, stc_sum/std_sum); }
\ No newline at end of file diff --git a/benchmarks/plotbench/cpque_benchmark.cpp b/benchmarks/plotbench/cpque_benchmark.cpp index ca28082b..1290e3b3 100644 --- a/benchmarks/plotbench/cpque_benchmark.cpp +++ b/benchmarks/plotbench/cpque_benchmark.cpp @@ -20,14 +20,14 @@ void std_test() std::priority_queue<float, std::vector<float>, std::greater<float>> pq; rng = stc64_new(seed); clock_t start = clock(); - c_forrange (i, N) + c_forloop (i, N) pq.push((float) stc64_randf(&rng)*100000); printf("Built priority queue: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC); printf("%g ", pq.top()); start = clock(); - c_forrange (i, N) { + c_forloop (i, N) { pq.pop(); } @@ -44,18 +44,18 @@ void stc_test() { rng = stc64_new(seed); clock_t start = clock(); - c_forrange (i, N) + c_forloop (i, N) cpque_f_push(&pq, (float) stc64_randf(&rng)*100000); printf("Built priority queue: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC); printf("%g ", *cpque_f_top(&pq)); - c_forrange (i, int, M) { + c_forloop (i, M) { cpque_f_pop(&pq); } start = clock(); - c_forrange (i, int, M, N) + c_forloop (i, M, N) cpque_f_pop(&pq); printf("\npopped PQ: %f secs\n", (clock() - start) / (float) CLOCKS_PER_SEC); } diff --git a/benchmarks/plotbench/csmap_benchmark.cpp b/benchmarks/plotbench/csmap_benchmark.cpp index 7e6d62c6..e8243285 100644 --- a/benchmarks/plotbench/csmap_benchmark.cpp +++ b/benchmarks/plotbench/csmap_benchmark.cpp @@ -29,30 +29,30 @@ Sample test_std_map() { csrandom(seed); s.test[INSERT].t1 = clock(); container con; - c_forrange (i, N/2) con.emplace(crandom() & mask1, i); - c_forrange (i, N/2) con.emplace(i, i); + c_forloop (i, N/2) con.emplace(crandom() & mask1, i); + c_forloop (i, N/2) con.emplace(i, i); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = con.size(); csrandom(seed); s.test[ERASE].t1 = clock(); - c_forrange (N) con.erase(crandom() & mask1); + c_forloop (N) con.erase(crandom() & mask1); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = con.size(); }{ container con; csrandom(seed); - c_forrange (i, N/2) con.emplace(crandom() & mask1, i); - c_forrange (i, N/2) con.emplace(i, i); + c_forloop (i, N/2) con.emplace(crandom() & mask1, i); + c_forloop (i, N/2) con.emplace(i, i); csrandom(seed); s.test[FIND].t1 = clock(); size_t sum = 0; container::iterator it; - c_forrange (N) if ((it = con.find(crandom() & mask1)) != con.end()) sum += it->second; + c_forloop (N) if ((it = con.find(crandom() & mask1)) != con.end()) sum += it->second; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) for (auto i: con) sum += i.second; + c_forloop (R) for (auto i: con) sum += i.second; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -74,33 +74,33 @@ Sample test_stc_map() { csrandom(seed); s.test[INSERT].t1 = clock(); container con = csmap_x_init(); - c_forrange (i, N/2) csmap_x_insert(&con, crandom() & mask1, i); - c_forrange (i, N/2) csmap_x_insert(&con, i, i); + c_forloop (i, N/2) csmap_x_insert(&con, crandom() & mask1, i); + c_forloop (i, N/2) csmap_x_insert(&con, i, i); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = csmap_x_size(&con); csrandom(seed); s.test[ERASE].t1 = clock(); - c_forrange (N) csmap_x_erase(&con, crandom() & mask1); + c_forloop (N) csmap_x_erase(&con, crandom() & mask1); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = csmap_x_size(&con); csmap_x_drop(&con); }{ container con = csmap_x_init(); csrandom(seed); - c_forrange (i, N/2) csmap_x_insert(&con, crandom() & mask1, i); - c_forrange (i, N/2) csmap_x_insert(&con, i, i); + c_forloop (i, N/2) csmap_x_insert(&con, crandom() & mask1, i); + c_forloop (i, N/2) csmap_x_insert(&con, i, i); csrandom(seed); s.test[FIND].t1 = clock(); size_t sum = 0; const csmap_x_value* val; - c_forrange (N) + c_forloop (N) if ((val = csmap_x_get(&con, crandom() & mask1))) sum += val->second; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_foreach (i, csmap_x, con) sum += i.ref->second; + c_forloop (R) c_foreach (i, csmap_x, con) sum += i.ref->second; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -114,30 +114,30 @@ Sample test_stc_map() { int main(int argc, char* argv[]) { Sample std_s[SAMPLES + 1], stc_s[SAMPLES + 1]; - c_forrange (i, int, SAMPLES) { + c_forloop (i, SAMPLES) { std_s[i] = test_std_map(); stc_s[i] = test_stc_map(); - if (i > 0) c_forrange (j, int, N_TESTS) { + if (i > 0) c_forloop (j, N_TESTS) { if (secs(std_s[i].test[j]) < secs(std_s[0].test[j])) std_s[0].test[j] = std_s[i].test[j]; if (secs(stc_s[i].test[j]) < secs(stc_s[0].test[j])) stc_s[0].test[j] = stc_s[i].test[j]; - if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %d, sample %d\n", i, j); + if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %lld, sample %lld\n", i, j); } } const char* comp = argc > 1 ? argv[1] : "test"; bool header = (argc > 2 && argv[2][0] == '1'); float std_sum = 0, stc_sum = 0; - c_forrange (j, N_TESTS) { + c_forloop (j, N_TESTS) { std_sum += secs(std_s[0].test[j]); stc_sum += secs(stc_s[0].test[j]); } if (header) printf("Compiler,Library,C,Method,Seconds,Ratio\n"); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, operations[j], secs(std_s[0].test[j]), 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, "total", std_sum, 1.0f); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, operations[j], secs(stc_s[0].test[j]), secs(std_s[0].test[j]) ? secs(stc_s[0].test[j])/secs(std_s[0].test[j]) : 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, "total", stc_sum, stc_sum/std_sum); } diff --git a/benchmarks/plotbench/cvec_benchmark.cpp b/benchmarks/plotbench/cvec_benchmark.cpp index a0faf679..347a6319 100644 --- a/benchmarks/plotbench/cvec_benchmark.cpp +++ b/benchmarks/plotbench/cvec_benchmark.cpp @@ -29,27 +29,27 @@ Sample test_std_vector() { s.test[INSERT].t1 = clock(); container con; csrandom(seed); - c_forrange (N) con.push_back(crandom() & mask1); + c_forloop (N) con.push_back(crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = con.size(); s.test[ERASE].t1 = clock(); - c_forrange (N) con.pop_back(); + c_forloop (N) con.pop_back(); s.test[ERASE].t2 = clock(); s.test[ERASE].sum = con.size(); }{ container con; csrandom(seed); - c_forrange (N) con.push_back(crandom() & mask2); + c_forloop (N) con.push_back(crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; //container::iterator it; // Iteration - not inherent find - skipping - //c_forrange (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; + //c_forloop (S) if ((it = std::find(con.begin(), con.end(), crandom() & mask2)) != con.end()) sum += *it; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_forrange (i, N) sum += con[i]; + c_forloop (R) c_forloop (i, N) sum += con[i]; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -71,27 +71,27 @@ Sample test_stc_vector() { s.test[INSERT].t1 = clock(); container con = cvec_x_init(); csrandom(seed); - c_forrange (N) cvec_x_push_back(&con, crandom() & mask1); + c_forloop (N) cvec_x_push_back(&con, crandom() & mask1); s.test[INSERT].t2 = clock(); s.test[INSERT].sum = cvec_x_size(&con); s.test[ERASE].t1 = clock(); - c_forrange (N) { cvec_x_pop_back(&con); } + c_forloop (N) { cvec_x_pop_back(&con); } s.test[ERASE].t2 = clock(); s.test[ERASE].sum = cvec_x_size(&con); cvec_x_drop(&con); }{ csrandom(seed); container con = cvec_x_init(); - c_forrange (N) cvec_x_push_back(&con, crandom() & mask2); + c_forloop (N) cvec_x_push_back(&con, crandom() & mask2); s.test[FIND].t1 = clock(); size_t sum = 0; //cvec_x_iter it, end = cvec_x_end(&con); - //c_forrange (S) if ((it = cvec_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; + //c_forloop (S) if ((it = cvec_x_find(&con, crandom() & mask2)).ref != end.ref) sum += *it.ref; s.test[FIND].t2 = clock(); s.test[FIND].sum = sum; s.test[ITER].t1 = clock(); sum = 0; - c_forrange (R) c_forrange (i, N) sum += con.data[i]; + c_forloop (R) c_forloop (i, N) sum += con.data[i]; s.test[ITER].t2 = clock(); s.test[ITER].sum = sum; s.test[DESTRUCT].t1 = clock(); @@ -105,30 +105,30 @@ Sample test_stc_vector() { int main(int argc, char* argv[]) { Sample std_s[SAMPLES + 1] = {{NULL}}, stc_s[SAMPLES + 1] = {{NULL}}; - c_forrange (i, int, SAMPLES) { + c_forloop (i, SAMPLES) { std_s[i] = test_std_vector(); stc_s[i] = test_stc_vector(); - if (i > 0) c_forrange (j, int, N_TESTS) { + if (i > 0) c_forloop (j, N_TESTS) { if (secs(std_s[i].test[j]) < secs(std_s[0].test[j])) std_s[0].test[j] = std_s[i].test[j]; if (secs(stc_s[i].test[j]) < secs(stc_s[0].test[j])) stc_s[0].test[j] = stc_s[i].test[j]; - if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %d, sample %d\n", i, j); + if (stc_s[i].test[j].sum != stc_s[0].test[j].sum) printf("Error in sum: test %lld, sample %lld\n", i, j); } } const char* comp = argc > 1 ? argv[1] : "test"; bool header = (argc > 2 && argv[2][0] == '1'); float std_sum = 0, stc_sum = 0; - c_forrange (j, N_TESTS) { + c_forloop (j, N_TESTS) { std_sum += secs(std_s[0].test[j]); stc_sum += secs(stc_s[0].test[j]); } if (header) printf("Compiler,Library,C,Method,Seconds,Ratio\n"); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, operations[j], secs(std_s[0].test[j]), 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, std_s[0].name, N, "total", std_sum, 1.0f); - c_forrange (j, N_TESTS) + c_forloop (j, N_TESTS) printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, operations[j], secs(stc_s[0].test[j]), secs(std_s[0].test[j]) ? secs(stc_s[0].test[j])/secs(std_s[0].test[j]) : 1.0f); printf("%s,%s n:%d,%s,%.3f,%.3f\n", comp, stc_s[0].name, N, "total", stc_sum, stc_sum/std_sum); } |
