Title: [199567] trunk/Source/_javascript_Core
Revision
199567
Author
[email protected]
Date
2016-04-14 16:33:54 -0700 (Thu, 14 Apr 2016)

Log Message

CopiedBlock should be 8kB
https://bugs.webkit.org/show_bug.cgi?id=156610

Reviewed by Michael Saboff.

On Mac Pro, this is:

    15% faster on kraken-audio-beat-detection

    5% faster on v8-splay

Hopefully, this will be OK on MacBook* bots as well.

32kB is the full size of L1 cache on x86. So, allocating and zero-filling
a 32kB CopiedBlock would basically flush the L1 cache. We can ameliorate
this problem by using smaller blocks -- or, if that doesn't work, we can
use larger blocks to amortize the cost.

* heap/CopiedBlock.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (199566 => 199567)


--- trunk/Source/_javascript_Core/ChangeLog	2016-04-14 23:08:07 UTC (rev 199566)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-04-14 23:33:54 UTC (rev 199567)
@@ -1,3 +1,25 @@
+2016-04-14  Geoffrey Garen  <[email protected]>
+
+        CopiedBlock should be 8kB
+        https://bugs.webkit.org/show_bug.cgi?id=156610
+
+        Reviewed by Michael Saboff.
+
+        On Mac Pro, this is:
+
+            15% faster on kraken-audio-beat-detection
+
+            5% faster on v8-splay
+
+        Hopefully, this will be OK on MacBook* bots as well.
+
+        32kB is the full size of L1 cache on x86. So, allocating and zero-filling
+        a 32kB CopiedBlock would basically flush the L1 cache. We can ameliorate
+        this problem by using smaller blocks -- or, if that doesn't work, we can
+        use larger blocks to amortize the cost.
+
+        * heap/CopiedBlock.h:
+
 2016-04-14  Filip Pizlo  <[email protected]>
 
         PolymorphicAccess should try to generate a stub only once

Modified: trunk/Source/_javascript_Core/heap/CopiedBlock.h (199566 => 199567)


--- trunk/Source/_javascript_Core/heap/CopiedBlock.h	2016-04-14 23:08:07 UTC (rev 199566)
+++ trunk/Source/_javascript_Core/heap/CopiedBlock.h	2016-04-14 23:33:54 UTC (rev 199567)
@@ -79,7 +79,7 @@
     size_t size();
     size_t capacity();
 
-    static const size_t blockSize = 32 * KB;
+    static const size_t blockSize = 8 * KB;
 
     bool hasWorkList();
     CopyWorkList& workList();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to