Title: [130643] trunk/Source/WTF
Revision
130643
Author
[email protected]
Date
2012-10-08 08:11:21 -0700 (Mon, 08 Oct 2012)

Log Message

Lower minimum table size of WTF::HashTable to reduce memory usage.
<http://webkit.org/b/98406>
<rdar://problem/12432140>

Reviewed by Anders Carlsson.

Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries.
This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!)

No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere
from this, we can tweak individual tables to have a larger minimumTableSize.

* wtf/HashTraits.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (130642 => 130643)


--- trunk/Source/WTF/ChangeLog	2012-10-08 15:05:53 UTC (rev 130642)
+++ trunk/Source/WTF/ChangeLog	2012-10-08 15:11:21 UTC (rev 130643)
@@ -1,5 +1,21 @@
 2012-10-08  Andreas Kling  <[email protected]>
 
+        Lower minimum table size of WTF::HashTable to reduce memory usage.
+        <http://webkit.org/b/98406>
+        <rdar://problem/12432140>
+
+        Reviewed by Anders Carlsson.
+
+        Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries.
+        This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!)
+
+        No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere
+        from this, we can tweak individual tables to have a larger minimumTableSize.
+
+        * wtf/HashTraits.h:
+
+2012-10-08  Andreas Kling  <[email protected]>
+
         Using float/double as WTF hash table key is unreliable.
         <http://webkit.org/b/98627>
 

Modified: trunk/Source/WTF/wtf/HashTraits.h (130642 => 130643)


--- trunk/Source/WTF/wtf/HashTraits.h	2012-10-08 15:05:53 UTC (rev 130642)
+++ trunk/Source/WTF/wtf/HashTraits.h	2012-10-08 15:11:21 UTC (rev 130643)
@@ -50,7 +50,9 @@
         // The needsDestruction flag is used to optimize destruction and rehashing.
         static const bool needsDestruction = true;
 
-        static const int minimumTableSize = 64;
+        // The starting table size. Can be overridden when we know beforehand that
+        // a hash table will have at least N entries.
+        static const int minimumTableSize = 8;
     };
 
     // Default integer traits disallow both 0 and -1 as keys (max value instead of -1 for unsigned).
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to