Cachegrind to test and fix for cache misses
author <brian@localhost.localdomain> <>
Wed, 13 May 2009 21:40:19 +0000 (14:40 -0700)
committer <brian@localhost.localdomain> <>
Wed, 13 May 2009 21:40:19 +0000 (14:40 -0700)
libmemcached/memcached_fetch.c
libmemcached/memcached_get.c
libmemcached/memcached_stats.c
libmemcached/memcached_verbosity.c
tests/Makefile.am

index 07bfdda92287576ed95d64489a902c62deb2e635..e9939890472c3ee8e12663d94ee021685b608978 100644 (file)
@@ -8,7 +8,7 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length,
 {
   memcached_result_st *result_buffer= &ptr->result;
 
-  if (ptr->flags & MEM_USE_UDP)
+  unlikely (ptr->flags & MEM_USE_UDP)
   {
     *error= MEMCACHED_NOT_SUPPORTED;
     return NULL;
@@ -44,7 +44,7 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr,
 {
   memcached_server_st *server;
 
-  if (ptr->flags & MEM_USE_UDP)
+  unlikely (ptr->flags & MEM_USE_UDP)
   {
     *error= MEMCACHED_NOT_SUPPORTED;
     return NULL;
index 9a33fc6910b3825ffc3cc12c87ff1702d6e8a5fa..05b317a6268b79d19b5a711d49dfb05cf4dc3cb1 100644 (file)
@@ -27,7 +27,7 @@ char *memcached_get_by_key(memcached_st *ptr,
   uint32_t dummy_flags;
   memcached_return dummy_error;
 
-  if (ptr->flags & MEM_USE_UDP)
+  unlikely (ptr->flags & MEM_USE_UDP)
   {
     *error= MEMCACHED_NOT_SUPPORTED;
     return NULL;
@@ -128,7 +128,7 @@ memcached_return memcached_mget_by_key(memcached_st *ptr,
   unsigned int master_server_key= (unsigned int)-1; /* 0 is a valid server id! */
   bool is_master_key_set= false;
 
-   if (ptr->flags & MEM_USE_UDP)
+   unlikely (ptr->flags & MEM_USE_UDP)
     return MEMCACHED_NOT_SUPPORTED;
 
   LIBMEMCACHED_MEMCACHED_MGET_START();
index 791c00d9891ef75950cca606c1958ae43a74704e..d5ec819ff6853504173f31e95cfed272bae23854 100644 (file)
@@ -351,7 +351,7 @@ memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_retur
   memcached_return rc;
   memcached_stat_st *stats;
 
-  if (ptr->flags & MEM_USE_UDP)
+  unlikely (ptr->flags & MEM_USE_UDP)
   {
     *error= MEMCACHED_NOT_SUPPORTED;
     return NULL;
index 8dc9df3193c6e4f9a45ae6bccd930b7f3b32c1db..43132786c801ed355f3bddf6dcd116210adc197e 100644 (file)
@@ -24,7 +24,7 @@ memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbosity)
       continue;
     }
 
-    if (ptr->flags & MEM_USE_UDP)
+    unlikely (ptr->flags & MEM_USE_UDP)
       continue;
 
     rrc= memcached_response(&ptr->hosts[x], buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
index cb0bc2a0f32b0e09eb829156232c1b662a087553..5e51f666e0cfe0edb9af4d3a62db15196f8cd242 100644 (file)
@@ -75,6 +75,11 @@ clients:
 valgrind:
        libtool --mode=execute valgrind --leak-check=yes --show-reachable=yes  testapp
 
+cachegrind:
+       rm cachegrind.out.*
+       libtool --mode=execute valgrind --tool=cachegrind  --branch-sim=yes testapp
+       cg_annotate cachegrind.out.* --auto=yes > /tmp/calgrind.out
+
 test-no-outputdiff: testapp
        ./testapp > /dev/null
        @echo "Test completed"