From b73a146f2d0861926349fa3972dd437ac0bca576 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 20 Aug 2018 14:14:03 +0200 Subject: add memusage to loop benchmark --- benchmarks/bench_loop.c | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'benchmarks') diff --git a/benchmarks/bench_loop.c b/benchmarks/bench_loop.c index af7ff10..ecfa5d6 100644 --- a/benchmarks/bench_loop.c +++ b/benchmarks/bench_loop.c @@ -77,8 +77,8 @@ int main(int argc, char* argv[]) { int num_threads; struct ThreadArgs thread_args; - if (argc < 6) { - fprintf(stderr, "Usage: %s \n", argv[0]); + if (argc < 7) { + fprintf(stderr, "Usage: %s []\n", argv[0]); return 1; } @@ -104,14 +104,34 @@ int main(int argc, char* argv[]) { } } - if (argc == 7) + if (strcmp(argv[6], "yes") == 0) { - FILE* f = stdout; - if (strcmp(argv[6],"stdout") != 0) - f = fopen(argv[6], "w"); - malloc_info(0, f); - if (strcmp(argv[6],"stdout") != 0) - fclose(f); + char buf[4096]; + + FILE* status = fopen("/proc/self/status", "r"); + if (status == NULL) + { + perror("fopen status"); + exit(1); + } + + FILE* output = stdout; + if (argc == 8) + { + output = fopen(argv[7], "w"); + if (output == NULL) + { + perror("fopen output file"); + exit(1); + } + } + + while (!feof(status)) + { + fgets(&buf, 4096, status); + fprintf(output, "%s", buf); + } + fclose(status); } return 0; -- cgit v1.2.3