aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-03-18 23:37:56 +0100
committerTom Smeding <tom@tomsmeding.com>2025-03-18 23:37:56 +0100
commit7883bed5997f430219077202c84af7bf80ada2b7 (patch)
treeda3f00e30f32e88e9a7b5c789771dd9e9b3e931a
parentcb758277b3fa2d74551c45340b8ff0539713078c (diff)
arith stats: Improve output format
This makes it nicer to process using unix tools. Try: $ sed -n '/ox-arrays-arith-stats start/,/ox-arrays-arith-stats end/ !d; /===/ !p' | sort -n -k4,4 -k6,6
-rw-r--r--cbits/arith.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/cbits/arith.c b/cbits/arith.c
index c3e34ad..c7bb0bf 100644
--- a/cbits/arith.c
+++ b/cbits/arith.c
@@ -139,11 +139,13 @@ static size_t stats_print_unary(uint8_t *buf) {
i64 *strides = (i64*)buf; buf += rank * 8;
double secs = *(double*)buf; buf += 8;
- printf("unary %d sh=[", (int)id);
+ i64 shsize = 1; for (i32 i = 0; i < rank; i++) shsize *= shape[i];
+
+ printf("unary %d sz %" PRIi64 " ms %lf sh=[", (int)id, shsize, secs * 1000);
for (i32 i = 0; i < rank; i++) { if (i > 0) putchar(','); printf("%" PRIi64, shape[i]); }
printf("] str=[");
for (i32 i = 0; i < rank; i++) { if (i > 0) putchar(','); printf("%" PRIi64, strides[i]); }
- printf("] ms=%lf\n", secs * 1000);
+ printf("]\n");
return buf - orig_buf;
}
@@ -158,13 +160,15 @@ static size_t stats_print_binary(uint8_t *buf) {
i64 *strides2 = (i64*)buf; buf += rank * 8;
double secs = *(double*)buf; buf += 8;
- printf("binary %d sh=[", (int)id);
+ i64 shsize = 1; for (i32 i = 0; i < rank; i++) shsize *= shape[i];
+
+ printf("binary %d sz %" PRIi64 " ms %lf sh=[", (int)id, shsize, secs * 1000);
for (i32 i = 0; i < rank; i++) { if (i > 0) putchar(','); printf("%" PRIi64, shape[i]); }
printf("] str1=[");
for (i32 i = 0; i < rank; i++) { if (i > 0) putchar(','); printf("%" PRIi64, strides1[i]); }
printf("] str2=[");
for (i32 i = 0; i < rank; i++) { if (i > 0) putchar(','); printf("%" PRIi64, strides2[i]); }
- printf("] ms=%lf\n", secs * 1000);
+ printf("]\n");
return buf - orig_buf;
}