Add benchmark for WebKit process launch times
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2018-07-19  Ben Richards  <benton_richards@apple.com>
2
3         Add benchmark for WebKit process launch times
4         https://bugs.webkit.org/show_bug.cgi?id=186414
5
6         Reviewed by Ryosuke Niwa.
7
8         Added two benchmarks, one for measuring browser new tab launch time and one for browser startup time.
9
10         * LaunchTime/.gitignore: Added.
11         * LaunchTime/feedback_client.html: Added.
12         Displays benchmark progress in browser
13         * LaunchTime/feedback_server.py: Added.
14         (FeedbackServer): Sends data to feedback_client via websocket
15         (FeedbackServer.__init__):
16         (FeedbackServer._create_app):
17         (FeedbackServer._start_server):
18         (FeedbackServer._send_all_messages):
19         (FeedbackServer.start):
20         (FeedbackServer.stop):
21         (FeedbackServer.send_message): Send a message to the feedback_client
22         (FeedbackServer.wait_until_client_has_loaded): Wait until the feedback_client has opened a websocket connection to the feedback_server
23         (FeedbackServer.MainHandler): Handler factory to create handler that serves feedback_client.html
24         (FeedbackServer.MainHandler.Handler):
25         (FeedbackServer.MainHandler.Handler.get):
26         (FeedbackServer.WSHandler): Handler factory to create handler that sends data to feedback client
27         (FeedbackServer.WSHandler.Handler):
28         (FeedbackServer.WSHandler.Handler.open): On websocket connection opened
29         (FeedbackServer.WSHandler.Handler.on_close): On websocket connection closed
30         * LaunchTime/launch_time.py: Added.
31         (DefaultLaunchTimeHandler): Abstract HTTP request handler for launch time benchmarks
32         (DefaultLaunchTimeHandler.get_test_page): Default test page to be overridden by benchmarks
33         (DefaultLaunchTimeHandler.get_blank_page):
34         (DefaultLaunchTimeHandler.on_receive_stop_time):
35         (DefaultLaunchTimeHandler.do_HEAD):
36         (DefaultLaunchTimeHandler.do_GET):
37         (DefaultLaunchTimeHandler.do_POST):
38         (DefaultLaunchTimeHandler.log_message): Suppresses HTTP logs from SimpleHTTPRequestHandler
39         (LaunchTimeBenchmark): Abstract class which launch time benchmarks inherit from and override methods desired to customize
40         (LaunchTimeBenchmark.__init__):
41         (LaunchTimeBenchmark._parse_browser_bundle_path): Parser for bundle path option
42         (LaunchTimeBenchmark._parse_args):
43         (LaunchTimeBenchmark._run_server): Target function for main server thread
44         (LaunchTimeBenchmark._setup_servers):
45         (LaunchTimeBenchmark._clean_up):
46         (LaunchTimeBenchmark._exit_due_to_exception):
47         (LaunchTimeBenchmark._geometric_mean):
48         (LaunchTimeBenchmark._standard_deviation):
49         (LaunchTimeBenchmark._compute_results): Returns mean and std dev of list of results and pretty prints if should_print=True is specified
50         (LaunchTimeBenchmark._wait_times): Mimic numpy.linspace
51         (LaunchTimeBenchmark.open_tab): Open a browser tab with the html given by self.response_handler.get_test_page
52         (LaunchTimeBenchmark.launch_browser): Open a broser to either the feedback client (if option is set) or a blank page
53         (LaunchTimeBenchmark.quit_browser):
54         (LaunchTimeBenchmark.quit_browser.quit_app):
55         (LaunchTimeBenchmark.quit_browser.is_app_closed):
56         (LaunchTimeBenchmark.close_tab):
57         (LaunchTimeBenchmark.wait):
58         (LaunchTimeBenchmark.log): Print to console and send to feedback client if --feedback-in-browser flag is used
59         (LaunchTimeBenchmark.log_verbose): Only logs if --verbose flag is used
60         (LaunchTimeBenchmark.run):
61         (LaunchTimeBenchmark.group_init): Initialization done before each round of iterations
62         (LaunchTimeBenchmark.run_iteration):
63         (LaunchTimeBenchmark.initialize): Convenience method to be overriden by subclasses which is called at the end of __init__
64         (LaunchTimeBenchmark.will_parse_arguments): Called before argparse.parse_args to let subclasses add new command line arguments
65         (LaunchTimeBenchmark.did_parse_arguments): Called after argparse.parse_args to let subclass initialize based on command line arguments
66         * LaunchTime/new_tab.py: Added
67         (NewTabBenchmark):
68         (NewTabBenchmark._parse_wait_time): Parser for wait time option
69         (NewTabBenchmark.initialize):
70         (NewTabBenchmark.run_iteration):
71         (NewTabBenchmark.group_init):
72         (NewTabBenchmark.will_parse_arguments):
73         (NewTabBenchmark.did_parse_arguments):
74         (NewTabBenchmark.ResponseHandler):
75         (NewTabBenchmark.ResponseHandler.Handler):
76         (NewTabBenchmark.ResponseHandler.Handler.get_test_page):
77         * LaunchTime/startup.py: Added
78         (StartupBenchmark): This benchmark measures browser startup time and initial page load time
79         (StartupBenchmark.initialize):
80         (StartupBenchmark.run_iteration):
81         (StartupBenchmark.ResponseHandler):
82         (StartupBenchmark.ResponseHandler.Handler):
83         (StartupBenchmark.ResponseHandler.Handler.get_test_page):
84         * LaunchTime/thirdparty/__init__.py: Added.
85         (AutoinstallImportHook): Auto installs tornado package for feedback server
86         (AutoinstallImportHook.__init__):
87         (AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path):
88         (AutoinstallImportHook.find_module):
89         (AutoinstallImportHook._install_tornado):
90         (AutoinstallImportHook.greater_than_equal_to_version):
91         (AutoinstallImportHook._install):
92         (AutoinstallImportHook.get_latest_pypi_url):
93         (AutoinstallImportHook.install_binary):
94         (autoinstall_everything):
95         (get_os_info):
96
97 2018-06-25  Jon Lee  <jonlee@apple.com>
98
99         [MotionMark] Add support for version numbers
100         https://bugs.webkit.org/show_bug.cgi?id=186479
101
102         Reviewed by Said Abou-Hallawa.
103
104         Add support for displaying the version number as well as including it in the JSON results.
105
106         When loading the front page, script replaces any element with classname version with the
107         version number of the benchmark, which is stored in Strings.version.
108
109         The JSON structure for the results includes a new version property:
110             {
111               "version": "1.0",
112               "options": { ... },
113               "data": [ ... ]
114             }
115
116         When dragging a results file, the version listed will come from the JSON file. Older
117         results will not have had the version property, in which case it will default to "1.0".
118
119         * MotionMark/index.html: Update title to some other default. Script will update it.
120         Include the version number in the logo title.
121         * MotionMark/developer.html: Ditto.
122         * MotionMark/about.html: Ditto.
123
124         * MotionMark/resources/runner/motionmark.js:
125         (ResultsDashboard): Update constructor to include version. This is used when serializing
126         results out to JSON, and displaying the results panel in developer mode.
127         (ResultsDashboard._processData): When running the benchmark, include benchmark version string
128         in the results object.
129         (ResultsDashboard.version):
130         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
131         benchmark version string to the dashboard, which holds the results.
132         (window.sectionsManager.setSectionVersion): Helper function to update the element in the
133         section with the class name version.
134         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
135         with the version string. Update the page title.
136         (window.benchmarkController.showResults): When showing results, update the version string
137         based on what is included in the JSON results, which would be the same as the benchmark version.
138         * MotionMark/resources/runner/motionmark.css: Include missing copyright. Wrap the SVG logo
139         in a div and include the version string.
140         * MotionMark/resources/strings.js: Add strings for the page title template, and the version.
141
142         * MotionMark/resources/debug-runner/motionmark.css:
143         * MotionMark/resources/debug-runner/motionmark.js:
144         (window.benchmarkRunnerClient.willStartFirstIteration): When running the benchmark, pass the
145         benchmark version string to the dashboard, which holds the results.
146         (window.benchmarkController.initialize): Populate all DOM elements with class name "version"
147         with the version string. Update the page title. When dragging in JSON results, look for
148         version to pass to the dashboard. If it doesn't exist, default to "1.0".
149         (window.benchmarkController.showResults): When showing results, update the version string
150         based on what is included in the JSON results, instead of the current benchmark version.
151         * MotionMark/resources/debug-runner/tests.js: Update page title template.
152
153 2018-06-08  Jon Lee  <jonlee@apple.com>
154
155         [MotionMark] Rename Suits test files
156         https://bugs.webkit.org/show_bug.cgi?id=186447
157
158         Reviewed by Said Abou-Hallawa.
159
160         * MotionMark/resources/runner/tests.js:
161         * MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
162         * MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
163         * MotionMark/tests/svg/suits.html:
164
165 2018-06-08  Jon Lee  <jonlee@apple.com>
166
167         Add sub-tests based on Suits
168         https://bugs.webkit.org/show_bug.cgi?id=186260
169
170         Reviewed by Said Abou-Hallawa.
171
172         Add a new developer Suits suite with sub-tests that isolate parts of each particle.
173         The sub-tests are:
174             - Particles using only clip paths
175             - Particles using only shapes
176             - Particles that have no gradients
177             - Particles that have no rotation
178             - Particles that do not move around at all (but all of the physics calculations are
179             still performed)
180
181         * MotionMark/resources/debug-runner/tests.js:
182         * MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and
183         benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
184         shape paths rather than relying on random chance. Wrap a check around creation of the
185         gradient element, and use a simple fill color when we aren't using a gradient.
186         * MotionMark/tests/svg/suits.html: Added.
187         * MotionMark/tests/svg/suits.js: Added.
188         Look for the query string and set the particle based on what is selected.
189
190 2018-06-06  Jon Lee  <jonlee@apple.com>
191
192         Allow the ramp controller to run tests that take less time than the initial ramp-up phase
193         https://bugs.webkit.org/show_bug.cgi?id=186257
194
195         Reviewed by Said Abou-Hallawa.
196
197         * MotionMark/tests/resources/main.js: Extend the desired end timestamp when ramp-up occurs.
198         Previously the controller assumed that the duration of the test was always longer than the
199         time it took to figure out the order of magnitude of particles to render. When that range
200         is determined, the end timestamp is then extended. If the duration is too short, the controller
201         would throw an exception. The fix is to continue extending the timestamp every time the order of
202         magnitude tiers up.
203
204         In general testing with really short durations isn't practical, but sometimes it is
205         desired for debugging.
206
207         To avoid confusion of the private variables, I renamed Benchmark._startTimestamp to
208         Benchmark._benchmarkStartTimestamp, to disambiguate from Controller._startTimestamp.
209         Benchmark._startTimestamp is set once and never changed, after the initial 100ms warm-up.
210         Controller._startTimestamp is initialized to 0 (which means "not initialized"), and then after
211         the warm up is complete, set in Controller.start() to the same wall clock timestamp, and never
212         changed afterwards.
213
214 2018-06-06  Jon Lee  <jonlee@apple.com>
215
216         Remove unneeded data processing in MotionMark
217         https://bugs.webkit.org/show_bug.cgi?id=186256
218
219         Reviewed by Said Abou-Hallawa.
220
221         Remove calculation of average frame rate based on multiple samples at a given complexity.
222         It is not used in the calculation of the score, and is just extra work to do at the end
223         of a test.
224
225         * MotionMark/developer.html: Remove options to show average data and regression based on
226         that data.
227         * MotionMark/resources/debug-runner/graph.js: Remove data. Update the time graph that
228         shows the relationship between the break point in the regression against the complexity
229         graph.
230         * MotionMark/resources/debug-runner/motionmark.css: Make the confidence intervals easier
231         to see.
232         * MotionMark/resources/runner/motionmark.js: Simplify score calculation now that we are
233         only calculating regressions on the raw data. We were calculating it based on the averages,
234         but that was just for analysis, and not used in the actual score. Get rid of the
235         |complexitySamples| local variable.
236         * MotionMark/resources/strings.js: Remove unneeded string constant.
237         * MotionMark/tests/resources/main.js:
238         (processSamples): Refactor so that more of it can be shared between Controller and
239         RampController. It also avoids processing the raw samples (controllerSamples) twice for
240         the ramp controller.
241         (_processComplexitySamples): Remove logic to calculate averages based on complexity.
242         (_processMarks): Split this out from the old processSamples.
243         (_processControllerSamples): Split this out from the old processSamples.
244
245 2018-06-06  Jon Lee  <jonlee@apple.com>
246
247         Strip out more characters when creating permalinks
248         https://bugs.webkit.org/show_bug.cgi?id=186259
249
250         Reviewed by Said Abou-Hallawa.
251
252         Tests and suites may have names that make permalinks to the tests less readable when
253         shared. Expand the set of characters that are stripped out of the names.
254
255         * MotionMark/resources/debug-runner/motionmark.js: Refactor to call
256         stripUnwantedCharactersForURL. For existing links, decode the suite and test names.
257         * MotionMark/resources/extensions.js:
258         (Utilities.stripUnwantedCharactersForURL): Rename from stripNonASCIICharacters.
259         Remove any non-alphanumeric character.
260
261 2018-06-04  Jon Lee  <jonlee@apple.com>
262
263         Remove unnecessary MotionMark controllers
264         https://bugs.webkit.org/show_bug.cgi?id=186255
265
266         Reviewed by Said Abou-Hallawa.
267
268         Get rid of the ramp30 and the fixed-with-a-step controllers, which aren't used for testing
269         or debugging.
270
271         * MotionMark/developer.html: Move the "ramp" option as first, since that is the default
272         controller for the benchmark.
273         * MotionMark/resources/debug-runner/motionmark.js:
274         * MotionMark/resources/runner/motionmark.js: Added missing copyright notice.
275         * MotionMark/tests/resources/main.js:
276
277 2018-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
278
279         Improve the performance of Font::canRenderCombiningCharacterSequence()
280         https://bugs.webkit.org/show_bug.cgi?id=185933
281
282         Reviewed by Ryosuke Niwa.
283
284         * Layout/ComplexLongUnique.html: Added.
285
286 2018-05-25  Saam Barati  <sbarati@apple.com>
287
288         Have a memory test where we can validate JSCs mini memory mode
289         https://bugs.webkit.org/show_bug.cgi?id=185932
290
291         Reviewed by Mark Lam.
292
293         We add a directory here with the contents of the testmem benchmark.
294         To run it, use `Tools/Scripts/run-testmem`. To add new tests in the future,
295         you just need to add JS files to this directory.
296
297         * testmem: Added.
298         * testmem/air.js: Added.
299         * testmem/base64.js: Added.
300         * testmem/basic.js: Added.
301         * testmem/box2d.js: Added.
302         * testmem/crypto-md5.js: Added.
303         * testmem/date-format-tofte.js: Added.
304         * testmem/earley-boyer.js: Added.
305         * testmem/hash-map.js: Added.
306         * testmem/regex-dna.js: Added.
307         * testmem/splay.js: Added.
308         * testmem/tagcloud.js: Added.
309
310 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
311
312         Unreviewed, rolling out r232052.
313
314         Breaks internal builds.
315
316         Reverted changeset:
317
318         "Use more C++17"
319         https://bugs.webkit.org/show_bug.cgi?id=185176
320         https://trac.webkit.org/changeset/232052
321
322 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
323
324         Use more C++17
325         https://bugs.webkit.org/show_bug.cgi?id=185176
326
327         Reviewed by JF Bastien.
328
329         * MallocBench/MallocBench.xcodeproj/project.pbxproj:
330         * MediaTime/Configurations/Base.xcconfig:
331         * MediaTime/MediaTime.xcodeproj/project.pbxproj:
332
333 2018-04-30  Myles C. Maxfield  <mmaxfield@apple.com>
334
335         Improve the performance of FontCascadeDescription's effectiveFamilies
336         https://bugs.webkit.org/show_bug.cgi?id=184720
337
338         Reviewed by Simon Fraser.
339
340         This performance test calls SystemFontDatabase::systemFontCascadeList() around 2,000,000 times (before
341         this patch is applied), which is roughly equivalent to the page we found the performance problem on.
342         The calling pattern is roughly equivalent in this test.
343
344         * Layout/system-ui.html: Added.
345
346 2018-03-08  Antti Koivisto  <antti@apple.com>
347
348         Update StyleBench version number in page title to 0.3
349
350         * StyleBench/index.html:
351
352         There has been a bunch of changes, most notably the addition of attribute selector test step.
353
354 2018-02-16  Dean Jackson  <dino@apple.com>
355
356         Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
357         https://bugs.webkit.org/show_bug.cgi?id=182894
358
359         Reviewed by Tim Horton.
360
361         Rename OPENGL_ES_2 to OPENGL_ES.
362
363         * StitchMarker/wtf/Platform.h:
364
365 2018-02-09  Ryosuke Niwa  <rniwa@webkit.org>
366
367         Make run-perf-tests work with Speedometer 2.0 and re-enable the test
368         https://bugs.webkit.org/show_bug.cgi?id=182088
369
370         Reviewed by Antti Koivisto.
371
372         This patch updates the test harness to report new metrics of Speedometer 2.0.
373
374         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
375         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
376         to support "Score" metric with "pt" as its unit.
377
378         * Skipped: Unskipped the test.
379         * Speedometer/resources/benchmark-report.js:
380         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
381         to report the score in addition to time. Also report the geomean of time instead of the total time.
382         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
383         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
384         (window.benchmarkClient.didFinishLastIteration): Report the scores.
385
386 2018-02-09  Ross Kirsling  <ross.kirsling@sony.com>
387
388         Use REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR on any non-Windows port.
389         https://bugs.webkit.org/show_bug.cgi?id=182623
390
391         Reviewed by Alex Christensen.
392
393         * StitchMarker/wtf/Platform.h:
394         Simplify #if.
395
396 2018-02-01  Antti Koivisto  <antti@apple.com>
397
398         StyleBench: Attribute selectors and other improvements
399         https://bugs.webkit.org/show_bug.cgi?id=182387
400
401         Reviewed by Joseph Pecoraro.
402
403         - Add some attributes to elements in all tests
404         - Add some attribute selectors to stylesheets in all tests
405         - Also add some * selectors to all stylesheets.
406         - Add attribute mutation step to all suites
407         - Make test steps do more mutations (25->100) and reduce the number of steps to keep testing time in check.
408           Too fast steps were running into timer resolution limits.
409
410         * StyleBench/resources/style-bench.js:
411         (defaultConfiguration):
412         (prototype.randomAttributeName):
413         (prototype.randomAttributeValue):
414         (prototype.randomAttributeSelector):
415         (prototype.makeCompoundSelector):
416         (prototype.makeElement):
417         (prototype.addClasses):
418         (prototype.removeClasses):
419         (prototype.mutateAttributes):
420         (prototype.async.runForever):
421         * StyleBench/resources/tests.js:
422         (makeSteps):
423         (makeSuite):
424
425 2018-02-01  Geoffrey Garen  <ggaren@apple.com>
426
427         Make MallocBench easier for non-WebKit engineers to run
428         https://bugs.webkit.org/show_bug.cgi?id=182415
429
430         Reviewed by Saam Barati.
431
432         * MallocBench/MallocBench.xcodeproj/project.pbxproj: Use c++14 so we
433         can make_unique.
434
435         Specify that we support all Darwin platforms so you can test them.
436
437         * MallocBench/run-malloc-benchmarks: Specify the path to MallocBench
438         and libmbmalloc explicitly, rather than computing them implicitly
439         using webkitdirs. Non-WebKit folks don't have the directory structure
440         required by webkitdirs.
441
442         Remove Linux-specific and cmake-specific behaviors because we only
443         needed them in the world of implicit path computation.
444
445 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
446
447         Make run-perf-tests work with StyleBench and re-enable it
448         https://bugs.webkit.org/show_bug.cgi?id=182322
449
450         Reviewed by Antti Koivisto.
451
452         This patch updates the test harness to report new metrics of StyleBench.
453
454         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
455         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
456         to support "Score" metric with "pt" as its unit.
457
458         * Skipped: Unskipped the test.
459         * StyleBench/resources/benchmark-report.js:
460         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
461         to report the score in addition to time. Also report the geomean of time instead of the total time.
462         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
463         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
464         (window.benchmarkClient.didFinishLastIteration): Report the scores.
465         * resources/results-template.html: Added "Score" as a metric and "pt" as its unit.
466         * resources/runner.js:
467         (PerfTestRunner..finish): Ditto.
468
469 2018-01-30  Ryosuke Niwa  <rniwa@webkit.org>
470
471         StyleBench: Generate more mutation steps
472         https://bugs.webkit.org/show_bug.cgi?id=182291
473
474         Rubber-stamped by Antti Koivisto
475
476         Use zero-based index instead of one-based index.
477
478         * StyleBench/resources/tests.js:
479         (makeSteps):
480
481 2018-01-30  Antti Koivisto  <antti@apple.com>
482
483         StyleBench: Generate more mutation steps
484         https://bugs.webkit.org/show_bug.cgi?id=182291
485
486         Reviewed by Ryosuke Niwa.
487
488         The test should be doing multiple rounds of mutations in a single document to test what is supposed to test (like it did before r227756).
489         This also makes test results more stable and less dependent on possible first-time costs.
490
491         * StyleBench/resources/benchmark-runner.js:
492
493         Adjust correctionFactor to match the new steps count. With 1.5 Firefox is ~72rpm.
494
495         * StyleBench/resources/tests.js:
496         (makeSteps):
497
498         Generate 10 rounds of class/element mutation steps.
499         Give each generated step unique name so reporting works.
500         Make individual steps do fewer mutations.
501
502 2018-01-29  Antti Koivisto  <antti@apple.com>
503
504         StyleBench: Remove : from a test name
505         https://bugs.webkit.org/show_bug.cgi?id=182258
506
507         Reviewed by Ryosuke Niwa.
508
509         It breaks reporting.
510
511         * StyleBench/resources/style-bench.js:
512         (nthPseudoClassConfiguration):
513
514 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
515
516         Temporarily skip StyleBench until webkit.org/b/182088 is fixed.
517
518         * Skipped:
519
520 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
521
522         Make StyleBench compatible with run-benchmark and run-perf-tests
523         https://bugs.webkit.org/show_bug.cgi?id=182262
524
525         Reviewed by Antti Koivisto.
526
527         Copied resource files referenced from Speedometer directory since run-benchmark needs to be able
528         to checkout each benchmark separately.
529
530         Removed the code to create tests of the same name five times in makeSteps since this
531         won't be compatible with either run-benchmark or run-perf-tests.
532
533         * StyleBench/index.html: Removed the code to show warnings for local files since run-benchmark
534         doesn't use HTTP server in WebDriver mode.
535         * StyleBench/resources/benchmark-report.js: Copied from resources/benchmark-report.js.
536         * StyleBench/resources/benchmark-runner.js: Copied from resources/benchmark-runner.js.
537         (BenchmarkRunner.prototype._finalize): Use the correction factor of 8 instead of 5 in StyleBench.
538         * StyleBench/resources/gauge.png: Copied from resources/gauge.png.
539         * StyleBench/resources/gauge@2x.png: Copied from resources/gauge@2x.png.
540         * StyleBench/resources/main.css: Copied from resources/main.css.
541         * StyleBench/resources/main.js: Copied from resources/main.js.
542         * StyleBench/resources/tests.js:
543         (makeSteps): Only make each test once.
544
545 2018-01-26  Chris Nardi  <cnardi@chromium.org>
546
547         Addressing post-review comments after r226614
548         https://bugs.webkit.org/show_bug.cgi?id=182151
549
550         Reviewed by Myles C. Maxfield.
551
552         * StitchMarker/wtf/text/StringImpl.h:
553         (WTF::isSpaceOrNewline):
554         * StitchMarker/wtf/text/TextBreakIterator.cpp:
555         (WTF::numCodeUnitsInGraphemeClusters):
556         * StitchMarker/wtf/text/TextBreakIterator.h:
557
558 2018-01-22  Antti Koivisto  <antti@apple.com>
559
560         StyleBench: Separate test for :nth pseudo classes
561         https://bugs.webkit.org/show_bug.cgi?id=181932
562
563         Reviewed by Sam Weinig.
564
565         Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.
566
567         * StyleBench/resources/style-bench.js:
568         (structuralPseudoClassConfiguration):
569         (nthPseudoClassConfiguration):
570
571             Add a new configuration.
572
573         (predefinedConfigurations):
574         (pseudoClassConfiguration): Deleted.
575
576 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
577
578         Temporarily skip Speedometer until we fix the metrics.
579
580         * Skipped:
581
582 2018-01-16  Alex Christensen  <achristensen@webkit.org>
583
584         Fix Mac CMake build after r222900
585
586         * MallocBench/MallocBench/CMakeLists.txt:
587         The mbmalloc target doesn't exist if we're not in developer mode, so only use it if we are.
588
589 2018-01-09  Ryosuke Niwa  <rniwa@webkit.org>
590
591         Speedometer 2.0: Update the About page.
592         https://bugs.webkit.org/show_bug.cgi?id=175918
593
594         Reviewed by Keith Miller.
595
596         Updated the about page for Speedometer 2.0.
597
598         * Speedometer/index.html:
599
600 == Rolled over to ChangeLog-2018-01-01 ==