From b89aab130b4619806557e11e6b9c10964f00743f Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Wed, 9 May 2012 14:54:17 -0700 Subject: [PATCH] compare fastlock versus mutex --- examples/rstream.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/examples/rstream.c b/examples/rstream.c index 8aa089d7..8c4cfdcc 100644 --- a/examples/rstream.c +++ b/examples/rstream.c @@ -44,6 +44,9 @@ #include #include +#include "../src/cma.h" + +static int test_mutex; static int test_size[] = { 64, @@ -276,12 +279,31 @@ static int sync_test(int rs) static int run_test(int rs) { int ret, i, t; + fastlock_t fl; + pthread_mutex_t mut; + fastlock_init(&fl); + pthread_mutex_init(&mut, NULL); ret = sync_test(rs); if (ret) goto out; + printf("test mutex %s\n", test_mutex == 1 ? "fastlock" : "mutex/none"); gettimeofday(&start, NULL); + if (test_mutex) { + if (test_mutex == 1) { + for (i = 0; i < 2000000000; i++) { + fastlock_acquire(&fl); + fastlock_release(&fl); + } + } else { + for (i = 0; i < 2000000000; i++) { + pthread_mutex_lock(&mut); + pthread_mutex_unlock(&mut); + } + } + } + for (i = 0; i < iterations; i++) { for (t = 0; t < transfer_count; t++) { ret = dst_addr ? send_xfer(rs, transfer_size) : @@ -302,6 +324,8 @@ static int run_test(int rs) ret = 0; out: + fastlock_destroy(&fl); + pthread_mutex_destroy(&mut); return ret; } @@ -497,6 +521,9 @@ static int set_test_opt(char *optarg) case 'v': verify = 1; break; + case 'm': + test_mutex++; + break; default: return -1; } -- 2.46.0