History log of /system/core/include/utils/BasicHashtable.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0d8f3d6c452883ab7295573c4ff7437d68d1d936 18-Jul-2013 Alex Ray <aray@google.com> libutils: give BasicHashtableImpl a virtual destructor

Change-Id: I4ec590b060d732af5fe525670becbe778684247b
/system/core/include/utils/BasicHashtable.h
b6ea175b6b4d0aaac85ed6cd8ccac01ab896486b 26-Oct-2012 Raph Levien <raph@google.com> Add an LRU cache plus hashing primitives

This patch adds a hashtable-based LRU cache. This should be
significantly higher performance than the GenerationCache it is intended
to replace. It is a large part of the fix for bug 7271109
TextLayoutCache low-level performance issues.

We added a new method to BasicHashtable to detect when rehashing is
needed, because the internal linked list pointers would get invalidated
by that rehashing.

Also, the hash_type specialized to pointers had a small flaw.

Change-Id: I950c2083f96519777b851dbe157100e0a334caec
/system/core/include/utils/BasicHashtable.h
e735f23018b398f45bd052b63616d7a45e29515b 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Add a basic hashtable data structure, with tests!

The basic hashtable is intended to be used to support a variety
of different datastructures such as map, set, multimap,
multiset, linkedmap, generationcache, etc.

Consequently its interface is fairly primitive.

The basic hashtable supports copy-on-write style functionality
using SharedBuffer.

The change introduces a simple generic function in TypeHelpers for
specifying hash functions. The idea is to add template
specializations of hash_type<T> next to the relevant data structures
such as String8, String16, sp<T>, etc.

Change-Id: I2c479229e9d4527b4fbfe3b8b04776a2fd32c973
/system/core/include/utils/BasicHashtable.h