summaryrefslogtreecommitdiffhomepage
path: root/misc/benchmarks
diff options
context:
space:
mode:
authortylov <[email protected]>2023-07-08 14:00:23 +0200
committertylov <[email protected]>2023-07-08 14:00:23 +0200
commit2d1011251596edee16d3bd6afb0e3c3b9df1157b (patch)
treebde4e7fd426ef52678590fb5b2e7e4af63b1fb9b /misc/benchmarks
parent3a26c8fe4bce8a3af62042dd0fca5f36221359a9 (diff)
downloadSTC-modified-2d1011251596edee16d3bd6afb0e3c3b9df1157b.tar.gz
STC-modified-2d1011251596edee16d3bd6afb0e3c3b9df1157b.zip
Added support for column-major md cspan.
API change: the create function cspan_md(order, array, d1, d2, ...) has the new first argument order, which must be either 'C' or 'F' (C: row-major or Fortran: column-major). The representation of strides was changed.
Diffstat (limited to 'misc/benchmarks')
-rw-r--r--misc/benchmarks/various/cspan_bench.c12
-rw-r--r--misc/benchmarks/various/string_bench_STC.cpp5
2 files changed, 9 insertions, 8 deletions
diff --git a/misc/benchmarks/various/cspan_bench.c b/misc/benchmarks/various/cspan_bench.c
index 02ae3237..6ca7425d 100644
--- a/misc/benchmarks/various/cspan_bench.c
+++ b/misc/benchmarks/various/cspan_bench.c
@@ -28,8 +28,8 @@ static void MDRanges_setup(intptr_t state)
for (intptr_t s = 0; s < state; ++s)
{
- MD3 r_in = cspan_md(Vin, nx, ny, nz);
- MD3 r_out = cspan_md(Vout, nx, ny, nz);
+ MD3 r_in = cspan_md('C', Vin, nx, ny, nz);
+ MD3 r_out = cspan_md('C', Vout, nx, ny, nz);
r_in = cspan_slice(MD3, &r_in, {lx, hx}, {ly, hy}, {lz, hz});
r_out = cspan_slice(MD3, &r_out, {lx, hx}, {ly, hy}, {lz, hz});
@@ -64,8 +64,8 @@ static void TraditionalForLoop(intptr_t state)
static void MDRanges_nested_loop(intptr_t state)
{
- MD3 r_in = cspan_md(Vin, nx, ny, nz);
- MD3 r_out = cspan_md(Vout, nx, ny, nz);
+ MD3 r_in = cspan_md('C', Vin, nx, ny, nz);
+ MD3 r_out = cspan_md('C', Vout, nx, ny, nz);
r_in = cspan_slice(MD3, &r_in, {lx, hx}, {ly, hy}, {lz, hz});
r_out = cspan_slice(MD3, &r_out, {lx, hx}, {ly, hy}, {lz, hz});
@@ -91,8 +91,8 @@ static void MDRanges_nested_loop(intptr_t state)
static void MDRanges_loop_over_joined(intptr_t state)
{
- MD3 r_in = cspan_md(Vin, nx, ny, nz);
- MD3 r_out = cspan_md(Vout, nx, ny, nz);
+ MD3 r_in = cspan_md('C', Vin, nx, ny, nz);
+ MD3 r_out = cspan_md('C', Vout, nx, ny, nz);
r_in = cspan_slice(MD3, &r_in, {lx, hx}, {ly, hy}, {lz, hz});
r_out = cspan_slice(MD3, &r_out, {lx, hx}, {ly, hy}, {lz, hz});
diff --git a/misc/benchmarks/various/string_bench_STC.cpp b/misc/benchmarks/various/string_bench_STC.cpp
index ae8e4c38..319b0b19 100644
--- a/misc/benchmarks/various/string_bench_STC.cpp
+++ b/misc/benchmarks/various/string_bench_STC.cpp
@@ -4,10 +4,11 @@
#include <iostream>
#include <iomanip>
#include <chrono>
-#define i_static
+#define i_implement
#include <stc/cstr.h> // string
-#define i_static
+#define i_implement
#include <stc/csview.h> // string_view
+#include <stc/algo/raii.h>
#define i_key_str
#include <stc/cvec.h> // vec of cstr with const char* lookup