subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@apache.org
Subject svn commit: r1489850 - /subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
Date Wed, 05 Jun 2013 13:20:43 GMT
Author: stefan2
Date: Wed Jun  5 13:20:42 2013
New Revision: 1489850

URL: http://svn.apache.org/r1489850
Log:
Fix a key mapping inefficiency in simplified scheme used by the
1.9 membuffer cache.  In cases of fixed length 16 byte key structures,
the first bytes usually contain a revision number.  Rotating that before
mapping it onto index buckets creates unnecessary "hot buckets",
i.e. local index overflows causing data eviction.

* subversion/libsvn_subr/cache-membuffer.c
  (combine_key): don't rotate the first 8-bytes of a 16 byte key

Modified:
    subversion/trunk/subversion/libsvn_subr/cache-membuffer.c

Modified: subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache-membuffer.c?rev=1489850&r1=1489849&r2=1489850&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache-membuffer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache-membuffer.c Wed Jun  5 13:20:42 2013
@@ -2244,7 +2244,6 @@ combine_key(svn_membuffer_cache_t *cache
   /* scramble key DATA.  All of this must be reversible to prevent key
    * collisions.  So, we limit ourselves to xor and permutations. */
   data[1] = (data[1] << 27) | (data[1] >> 37);
-  data[0] = (data[0] << 43) | (data[0] >> 21);
   data[1] ^= data[0] & 0xffff;
   data[0] ^= data[1] & 0xffffffffffff0000ull;
 



Mime
View raw message