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