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
-~----------~----~----~----~------~----~------~--~---

Reply via email to