Reviewers: Mads Ager, Description: Changed HashTable::EnsureCapacity to gurantee at least 50% of the entries are free (up from 25%). This reduces the mount of probing in large hash tables.
Please review this at http://codereview.chromium.org/150017 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/objects.cc Index: src/objects.cc =================================================================== --- src/objects.cc (revision 2283) +++ src/objects.cc (working copy) @@ -6357,8 +6357,8 @@ int n, HashTableKey* key) { int capacity = Capacity(); int nof = NumberOfElements() + n; - // Make sure 25% is free - if (nof + (nof >> 2) <= capacity) return this; + // Make sure 50% is free + if (nof + (nof >> 1) <= capacity) return this; Object* obj = Allocate(nof * 2); if (obj->IsFailure()) return obj; --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
