diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-03-18 23:37:56 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-03-18 23:37:56 +0100 |
commit | 7883bed5997f430219077202c84af7bf80ada2b7 (patch) | |
tree | da3f00e30f32e88e9a7b5c789771dd9e9b3e931a | |
parent | cb758277b3fa2d74551c45340b8ff0539713078c (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.c | 12 |
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; } |