From 131e95cc30e725eabcf108e0be598ff2129f1c3c Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Thu, 17 May 2012 11:38:24 -0700 Subject: [PATCH] Refresh of rs-fulltest --- examples/rstream.c | 70 ++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/examples/rstream.c b/examples/rstream.c index 3e6d8d58..cb659115 100644 --- a/examples/rstream.c +++ b/examples/rstream.c @@ -52,22 +52,22 @@ struct test_size_param { static struct test_size_param test_size[] = { { 1 << 6, 0 }, - { 1 << 7, 1 }, { 1 << 7 + 1 << 6, 1}, - { 1 << 8, 1 }, { 1 << 8 + 1 << 7, 1}, - { 1 << 9, 1 }, { 1 << 9 + 1 << 8, 1}, - { 1 << 10, 1 }, { 1 << 10 + 1 << 9, 1}, - { 1 << 11, 1 }, { 1 << 11 + 1 << 10, 1}, - { 1 << 12, 0 }, { 1 << 12 + 1 << 11, 1}, - { 1 << 13, 1 }, { 1 << 13 + 1 << 12, 1}, - { 1 << 14, 1 }, { 1 << 14 + 1 << 13, 1}, - { 1 << 15, 1 }, { 1 << 15 + 1 << 14, 1}, - { 1 << 16, 0 }, { 1 << 16 + 1 << 15, 1}, - { 1 << 17, 1 }, { 1 << 17 + 1 << 16, 1}, - { 1 << 18, 1 }, { 1 << 18 + 1 << 17, 1}, - { 1 << 19, 1 }, { 1 << 19 + 1 << 18, 1}, - { 1 << 20, 0 }, { 1 << 20 + 1 << 19, 1}, - { 1 << 21, 1 }, { 1 << 21 + 1 << 20, 1}, - { 1 << 22, 1 }, { 1 << 22 + 1 << 21, 1}, + { 1 << 7, 1 }, { (1 << 7) + (1 << 6), 1}, + { 1 << 8, 1 }, { (1 << 8) + (1 << 7), 1}, + { 1 << 9, 1 }, { (1 << 9) + (1 << 8), 1}, + { 1 << 10, 1 }, { (1 << 10) + (1 << 9), 1}, + { 1 << 11, 1 }, { (1 << 11) + (1 << 10), 1}, + { 1 << 12, 0 }, { (1 << 12) + (1 << 11), 1}, + { 1 << 13, 1 }, { (1 << 13) + (1 << 12), 1}, + { 1 << 14, 1 }, { (1 << 14) + (1 << 13), 1}, + { 1 << 15, 1 }, { (1 << 15) + (1 << 14), 1}, + { 1 << 16, 0 }, { (1 << 16) + (1 << 15), 1}, + { 1 << 17, 1 }, { (1 << 17) + (1 << 16), 1}, + { 1 << 18, 1 }, { (1 << 18) + (1 << 17), 1}, + { 1 << 19, 1 }, { (1 << 19) + (1 << 18), 1}, + { 1 << 20, 0 }, { (1 << 20) + (1 << 19), 1}, + { 1 << 21, 1 }, { (1 << 21) + (1 << 20), 1}, + { 1 << 22, 1 }, { (1 << 22) + (1 << 21), 1}, }; #define TEST_CNT (sizeof test_size / sizeof test_size[0]) @@ -106,14 +106,30 @@ static void *buf; static void size_str(char *str, long long size) { - if (size >= (1 << 30)) - sprintf(str, "%lldg", size / (1 << 30)); - else if (size >= (1 << 20)) - sprintf(str, "%lldm", size / (1 << 20)); - else if (size >= (1 << 10)) - sprintf(str, "%lldk", size / (1 << 10)); - else - sprintf(str, "%lld", size); + long long base, fraction = 0; + char mag; + + if (size >= (1 << 30)) { + base = 1 << 30; + mag = 'g'; + } else if (size >= (1 << 20)) { + base = 1 << 20; + mag = 'm'; + } else if (size >= (1 << 10)) { + base = 1 << 10; + mag = 'k'; + } else { + base = 1; + mag = '\0'; + } + + if (size / base < 10) + fraction = (size % base) * 10 / base; + if (fraction) { + sprintf(str, "%lld.%lld%c", size / base, fraction, mag); + } else { + sprintf(str, "%lld%c", size / base, mag); + } } static void cnt_str(char *str, long long cnt) @@ -491,13 +507,13 @@ static int run(void) printf("name \tbytes \txfers \titers \ttotal \ttime \tGb/sec \tusec/xfer\n"); if (!custom) { for (i = 0; i < TEST_CNT; i++) { - if (test_size[i] > size_option) + if (test_size[i].option > size_option) continue; init_latency_test(test_size[i].size); run_test(rs); } for (i = 0; i < TEST_CNT; i++) { - if (test_size[i] > size_option) + if (test_size[i].option > size_option) continue; init_bandwidth_test(test_size[i].size); run_test(rs); @@ -574,7 +590,7 @@ int main(int argc, char **argv) transfer_count = atoi(optarg); break; case 'S': - if (strncasecmp("all", optarg, 3) { + if (!strncasecmp("all", optarg, 3)) { size_option = 1; } else { custom = 1; -- 2.46.0