From 18b79b0f20dcf95854bfb4ee204159842ba9451b Mon Sep 17 00:00:00 2001 From: Rich Prohaska <prohaska@tokutek.com> Date: Fri, 22 Aug 2008 19:27:28 +0000 Subject: [PATCH] print some pthread object sizes git-svn-id: file:///svn/tokudb@5800 c7de825b-a66e-492c-adef-691d508d4ae1 --- newbrt/locking-benchmarks/pthread-locks.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/newbrt/locking-benchmarks/pthread-locks.c b/newbrt/locking-benchmarks/pthread-locks.c index fcc01382852..51f0d981176 100644 --- a/newbrt/locking-benchmarks/pthread-locks.c +++ b/newbrt/locking-benchmarks/pthread-locks.c @@ -68,6 +68,12 @@ gcc_fetch_and_add_i (volatile int *p, int incr) return __sync_fetch_and_add(p, incr); } +static inline long +gcc_fetch_and_add_l (volatile long *p, long incr) +{ + return __sync_fetch_and_add(p, incr); +} + // Something wrong with the compiler for longs /* Returns nonzero if the comparison succeeded. */ static inline long @@ -123,6 +129,8 @@ int ivals[K]; }) int main (int argc __attribute__((__unused__)), char *argv[] __attribute__((__unused__))) { + printf("sizeof (pthread_mutex_t) %lu\n", sizeof (pthread_mutex_t)); + printf("sizeof (pthread_cond_t) %lu\n", sizeof (pthread_cond_t)); TIME("pthread_mutex_lock", i, ({ int r = pthread_mutex_init(&mlocks[i], NULL); assert(r==0); }), ({ int r = pthread_mutex_lock(&mlocks[i]); assert(r==0); })); @@ -151,6 +159,11 @@ int main (int argc __attribute__((__unused__)), char *argv[] __attribute__((__un (void)0, gcc_fetch_and_add_i(&fa, i)); // printf("fa=%d\n", fa); + long fal = 0; + TIME("gcc_fetchaddlong", i, + (void)0, + gcc_fetch_and_add_l(&fal, i)); + // printf("fa=%d\n", fa); TIME("compare_and_swap", i, ivals[i]=0, ({ int r=compare_and_swap_full_i(&ivals[i], 0, 1); assert(r==1); })); -- 2.30.9