Empirical tests show that iOS devices perform better with the options values overridden for a smaller number of cores in Options.cpp:overrideDefaults(). These are the options in question: Options::maximumMutatorUtilization() = 0.6; Options::concurrentGCMaxHeadroom() = 1.4; Options::minimumGCPauseMS() = 1; Options::useStochasticMutatorScheduler() = false; <rdar://problem/31718721>
Created attachment 307517 [details] Patch
Comment on attachment 307517 [details] Patch r=me
Comment on attachment 307517 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307517&action=review r=me > Source/JavaScriptCore/runtime/Options.cpp:335 > + { Would it be better to duplicate the block below for iOS and not iOS, or do we expect the tuning parameters to stay the same for both (only the condition above changes)?
(In reply to JF Bastien from comment #3) > Comment on attachment 307517 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=307517&action=review > > r=me > > > Source/JavaScriptCore/runtime/Options.cpp:335 > > + { > > Would it be better to duplicate the block below for iOS and not iOS, or do > we expect the tuning parameters to stay the same for both (only the > condition above changes)? I opted to do it this way since these are all GC related and don't expect them to change.
Committed r215539: <http://trac.webkit.org/changeset/215539>
Comment on attachment 307517 [details] Patch R=me too