cedric pushed a commit to branch efl-1.8.

http://git.enlightenment.org/core/efl.git/commit/?id=3e711ba6353f53df51460e7ed25475ade0ab573a

commit 3e711ba6353f53df51460e7ed25475ade0ab573a
Author: Cedric Bail <[email protected]>
Date:   Wed Dec 4 18:29:07 2013 +0900

    eina: increase hash matching inside of Eina_Hash.
    
    This is the correct implementation of the idea developped in Lucas De 
Marchi's blog :
    http://www.politreco.com/2013/09/optimizing-hash-table-with-kmod-as-testbed/
    
    This give an interesting +15% for all Eina_Hash user whatever hash function 
they use. The inlined
    djb2 is still the fastest one and all other give very close result. It does 
increase memory foot
    print, but as much as the previous way of doing it.
---
 src/lib/eina/eina_hash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_hash.c b/src/lib/eina/eina_hash.c
index dab865e..274d3e8 100644
--- a/src/lib/eina/eina_hash.c
+++ b/src/lib/eina/eina_hash.c
@@ -64,7 +64,7 @@
 #define EINA_HASH_BUCKET_SIZE       8
 #define EINA_HASH_SMALL_BUCKET_SIZE 5
 
-#define EINA_HASH_RBTREE_MASK       0xFFF
+#define EINA_HASH_RBTREE_MASK       0xFFFFFF
 
 typedef struct _Eina_Hash_Head         Eina_Hash_Head;
 typedef struct _Eina_Hash_Element      Eina_Hash_Element;

-- 


Reply via email to