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