Title: [290405] trunk/Source/_javascript_Core
- Revision
- 290405
- Author
- [email protected]
- Date
- 2022-02-23 17:24:20 -0800 (Wed, 23 Feb 2022)
Log Message
[JSC] Adjust thread number for GC throughput
https://bugs.webkit.org/show_bug.cgi?id=237122
Reviewed by Mark Lam.
Adjust numberOfGCMarkers from 4 to 3 to make GC and main thread througput better on M1 macOS.
3 makes sense since there is also a main thread when they are running concurrently to the
main thread.
It offers 1.2% improvement in Speedometer2 in M1Max MBP and 0.4% improvement in M1 MBP.
----------------------------------------------------------------------------------------------------------------------------------
| subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
----------------------------------------------------------------------------------------------------------------------------------
| Elm-TodoMVC |107.445000 |102.856667 |0.957296 | 0.000000 (significant) |
| VueJS-TodoMVC |21.571667 |21.805000 |1.010817 | 0.403054 |
| EmberJS-TodoMVC |113.320000 |111.300000 |0.982174 | 0.000027 (significant) |
| BackboneJS-TodoMVC |39.981667 |39.318333 |0.983409 | 0.002346 (significant) |
| Preact-TodoMVC |15.516667 |15.648333 |1.008485 | 0.544754 |
| AngularJS-TodoMVC |117.010000 |115.346667 |0.985785 | 0.000495 (significant) |
| Vanilla-ES2015-TodoMVC |57.790000 |57.176667 |0.989387 | 0.000270 (significant) |
| Inferno-TodoMVC |55.275000 |53.755000 |0.972501 | 0.000000 (significant) |
| Flight-TodoMVC |53.875000 |53.941667 |1.001237 | 0.739556 |
| Angular2-TypeScript-TodoMVC |36.600000 |36.471667 |0.996494 | 0.743761 |
| VanillaJS-TodoMVC |48.058333 |47.671667 |0.991954 | 0.158193 |
| jQuery-TodoMVC |203.433333 |201.878333 |0.992356 | 0.009271 (significant) |
| EmberJS-Debug-TodoMVC |325.058333 |319.848333 |0.983972 | 0.000003 (significant) |
| React-TodoMVC |80.533333 |79.281667 |0.984458 | 0.000011 (significant) |
| React-Redux-TodoMVC |134.738333 |131.801667 |0.978205 | 0.000000 (significant) |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |56.780000 |56.168333 |0.989227 | 0.000514 (significant) |
----------------------------------------------------------------------------------------------------------------------------------
a mean = 293.86568
b mean = 297.52900
pValue = 0.0266899465
(Bigger means are better.)
1.012 times better
Results ARE significant
* runtime/Options.cpp:
(JSC::overrideDefaults):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (290404 => 290405)
--- trunk/Source/_javascript_Core/ChangeLog 2022-02-24 01:12:17 UTC (rev 290404)
+++ trunk/Source/_javascript_Core/ChangeLog 2022-02-24 01:24:20 UTC (rev 290405)
@@ -1,3 +1,46 @@
+2022-02-23 Yusuke Suzuki <[email protected]>
+
+ [JSC] Adjust thread number for GC throughput
+ https://bugs.webkit.org/show_bug.cgi?id=237122
+
+ Reviewed by Mark Lam.
+
+ Adjust numberOfGCMarkers from 4 to 3 to make GC and main thread througput better on M1 macOS.
+ 3 makes sense since there is also a main thread when they are running concurrently to the
+ main thread.
+
+ It offers 1.2% improvement in Speedometer2 in M1Max MBP and 0.4% improvement in M1 MBP.
+
+ ----------------------------------------------------------------------------------------------------------------------------------
+ | subtest | ms | ms | b / a | pValue (significance using False Discovery Rate) |
+ ----------------------------------------------------------------------------------------------------------------------------------
+ | Elm-TodoMVC |107.445000 |102.856667 |0.957296 | 0.000000 (significant) |
+ | VueJS-TodoMVC |21.571667 |21.805000 |1.010817 | 0.403054 |
+ | EmberJS-TodoMVC |113.320000 |111.300000 |0.982174 | 0.000027 (significant) |
+ | BackboneJS-TodoMVC |39.981667 |39.318333 |0.983409 | 0.002346 (significant) |
+ | Preact-TodoMVC |15.516667 |15.648333 |1.008485 | 0.544754 |
+ | AngularJS-TodoMVC |117.010000 |115.346667 |0.985785 | 0.000495 (significant) |
+ | Vanilla-ES2015-TodoMVC |57.790000 |57.176667 |0.989387 | 0.000270 (significant) |
+ | Inferno-TodoMVC |55.275000 |53.755000 |0.972501 | 0.000000 (significant) |
+ | Flight-TodoMVC |53.875000 |53.941667 |1.001237 | 0.739556 |
+ | Angular2-TypeScript-TodoMVC |36.600000 |36.471667 |0.996494 | 0.743761 |
+ | VanillaJS-TodoMVC |48.058333 |47.671667 |0.991954 | 0.158193 |
+ | jQuery-TodoMVC |203.433333 |201.878333 |0.992356 | 0.009271 (significant) |
+ | EmberJS-Debug-TodoMVC |325.058333 |319.848333 |0.983972 | 0.000003 (significant) |
+ | React-TodoMVC |80.533333 |79.281667 |0.984458 | 0.000011 (significant) |
+ | React-Redux-TodoMVC |134.738333 |131.801667 |0.978205 | 0.000000 (significant) |
+ | Vanilla-ES2015-Babel-Webpack-TodoMVC |56.780000 |56.168333 |0.989227 | 0.000514 (significant) |
+ ----------------------------------------------------------------------------------------------------------------------------------
+ a mean = 293.86568
+ b mean = 297.52900
+ pValue = 0.0266899465
+ (Bigger means are better.)
+ 1.012 times better
+ Results ARE significant
+
+ * runtime/Options.cpp:
+ (JSC::overrideDefaults):
+
2022-02-23 Adrian Perez de Castro <[email protected]>
Ensure generated inline assembler that setups segments returns to previous state
Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (290404 => 290405)
--- trunk/Source/_javascript_Core/runtime/Options.cpp 2022-02-24 01:12:17 UTC (rev 290404)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp 2022-02-24 01:24:20 UTC (rev 290405)
@@ -353,7 +353,7 @@
}
#if PLATFORM(MAC) && CPU(ARM64)
- Options::numberOfGCMarkers() = 4;
+ Options::numberOfGCMarkers() = 3;
Options::numberOfDFGCompilerThreads() = 3;
Options::numberOfFTLCompilerThreads() = 3;
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes