summaryrefslogtreecommitdiffhomepage
path: root/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/external/ankerl/unordered_dense.h11
-rw-r--r--benchmarks/misc/cbits_benchmark.cpp12
-rw-r--r--benchmarks/misc/rust_cmap.c6
-rw-r--r--benchmarks/picobench/picobench_cmap.cpp34
-rw-r--r--benchmarks/picobench/picobench_csmap.cpp40
-rw-r--r--benchmarks/plotbench/cdeq_benchmark.cpp40
-rw-r--r--benchmarks/plotbench/clist_benchmark.cpp36
-rw-r--r--benchmarks/plotbench/cmap_benchmark.cpp40
-rw-r--r--benchmarks/plotbench/cpque_benchmark.cpp10
-rw-r--r--benchmarks/plotbench/csmap_benchmark.cpp40
-rw-r--r--benchmarks/plotbench/cvec_benchmark.cpp32
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);
}