7140a9b1ba2a0a15eaeb93c2c7b244783f9a30ec
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2018-04-30  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Improve the performance of FontCascadeDescription's effectiveFamilies
4         https://bugs.webkit.org/show_bug.cgi?id=184720
5
6         Reviewed by Simon Fraser.
7
8         This performance test calls SystemFontDatabase::systemFontCascadeList() around 2,000,000 times (before
9         this patch is applied), which is roughly equivalent to the page we found the performance problem on.
10         The calling pattern is roughly equivalent in this test.
11
12         * Layout/system-ui.html: Added.
13
14 2018-03-08  Antti Koivisto  <antti@apple.com>
15
16         Update StyleBench version number in page title to 0.3
17
18         * StyleBench/index.html:
19
20         There has been a bunch of changes, most notably the addition of attribute selector test step.
21
22 2018-02-16  Dean Jackson  <dino@apple.com>
23
24         Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
25         https://bugs.webkit.org/show_bug.cgi?id=182894
26
27         Reviewed by Tim Horton.
28
29         Rename OPENGL_ES_2 to OPENGL_ES.
30
31         * StitchMarker/wtf/Platform.h:
32
33 2018-02-09  Ryosuke Niwa  <rniwa@webkit.org>
34
35         Make run-perf-tests work with Speedometer 2.0 and re-enable the test
36         https://bugs.webkit.org/show_bug.cgi?id=182088
37
38         Reviewed by Antti Koivisto.
39
40         This patch updates the test harness to report new metrics of Speedometer 2.0.
41
42         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
43         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
44         to support "Score" metric with "pt" as its unit.
45
46         * Skipped: Unskipped the test.
47         * Speedometer/resources/benchmark-report.js:
48         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
49         to report the score in addition to time. Also report the geomean of time instead of the total time.
50         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
51         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
52         (window.benchmarkClient.didFinishLastIteration): Report the scores.
53
54 2018-02-09  Ross Kirsling  <ross.kirsling@sony.com>
55
56         Use REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR on any non-Windows port.
57         https://bugs.webkit.org/show_bug.cgi?id=182623
58
59         Reviewed by Alex Christensen.
60
61         * StitchMarker/wtf/Platform.h:
62         Simplify #if.
63
64 2018-02-01  Antti Koivisto  <antti@apple.com>
65
66         StyleBench: Attribute selectors and other improvements
67         https://bugs.webkit.org/show_bug.cgi?id=182387
68
69         Reviewed by Joseph Pecoraro.
70
71         - Add some attributes to elements in all tests
72         - Add some attribute selectors to stylesheets in all tests
73         - Also add some * selectors to all stylesheets.
74         - Add attribute mutation step to all suites
75         - Make test steps do more mutations (25->100) and reduce the number of steps to keep testing time in check.
76           Too fast steps were running into timer resolution limits.
77
78         * StyleBench/resources/style-bench.js:
79         (defaultConfiguration):
80         (prototype.randomAttributeName):
81         (prototype.randomAttributeValue):
82         (prototype.randomAttributeSelector):
83         (prototype.makeCompoundSelector):
84         (prototype.makeElement):
85         (prototype.addClasses):
86         (prototype.removeClasses):
87         (prototype.mutateAttributes):
88         (prototype.async.runForever):
89         * StyleBench/resources/tests.js:
90         (makeSteps):
91         (makeSuite):
92
93 2018-02-01  Geoffrey Garen  <ggaren@apple.com>
94
95         Make MallocBench easier for non-WebKit engineers to run
96         https://bugs.webkit.org/show_bug.cgi?id=182415
97
98         Reviewed by Saam Barati.
99
100         * MallocBench/MallocBench.xcodeproj/project.pbxproj: Use c++14 so we
101         can make_unique.
102
103         Specify that we support all Darwin platforms so you can test them.
104
105         * MallocBench/run-malloc-benchmarks: Specify the path to MallocBench
106         and libmbmalloc explicitly, rather than computing them implicitly
107         using webkitdirs. Non-WebKit folks don't have the directory structure
108         required by webkitdirs.
109
110         Remove Linux-specific and cmake-specific behaviors because we only
111         needed them in the world of implicit path computation.
112
113 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
114
115         Make run-perf-tests work with StyleBench and re-enable it
116         https://bugs.webkit.org/show_bug.cgi?id=182322
117
118         Reviewed by Antti Koivisto.
119
120         This patch updates the test harness to report new metrics of StyleBench.
121
122         Replaced the total time by the geometric mean of the time spent in each suite, and added scores
123         as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
124         to support "Score" metric with "pt" as its unit.
125
126         * Skipped: Unskipped the test.
127         * StyleBench/resources/benchmark-report.js:
128         (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
129         to report the score in addition to time. Also report the geomean of time instead of the total time.
130         (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
131         (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
132         (window.benchmarkClient.didFinishLastIteration): Report the scores.
133         * resources/results-template.html: Added "Score" as a metric and "pt" as its unit.
134         * resources/runner.js:
135         (PerfTestRunner..finish): Ditto.
136
137 2018-01-30  Ryosuke Niwa  <rniwa@webkit.org>
138
139         StyleBench: Generate more mutation steps
140         https://bugs.webkit.org/show_bug.cgi?id=182291
141
142         Rubber-stamped by Antti Koivisto
143
144         Use zero-based index instead of one-based index.
145
146         * StyleBench/resources/tests.js:
147         (makeSteps):
148
149 2018-01-30  Antti Koivisto  <antti@apple.com>
150
151         StyleBench: Generate more mutation steps
152         https://bugs.webkit.org/show_bug.cgi?id=182291
153
154         Reviewed by Ryosuke Niwa.
155
156         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).
157         This also makes test results more stable and less dependent on possible first-time costs.
158
159         * StyleBench/resources/benchmark-runner.js:
160
161         Adjust correctionFactor to match the new steps count. With 1.5 Firefox is ~72rpm.
162
163         * StyleBench/resources/tests.js:
164         (makeSteps):
165
166         Generate 10 rounds of class/element mutation steps.
167         Give each generated step unique name so reporting works.
168         Make individual steps do fewer mutations.
169
170 2018-01-29  Antti Koivisto  <antti@apple.com>
171
172         StyleBench: Remove : from a test name
173         https://bugs.webkit.org/show_bug.cgi?id=182258
174
175         Reviewed by Ryosuke Niwa.
176
177         It breaks reporting.
178
179         * StyleBench/resources/style-bench.js:
180         (nthPseudoClassConfiguration):
181
182 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
183
184         Temporarily skip StyleBench until webkit.org/b/182088 is fixed.
185
186         * Skipped:
187
188 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
189
190         Make StyleBench compatible with run-benchmark and run-perf-tests
191         https://bugs.webkit.org/show_bug.cgi?id=182262
192
193         Reviewed by Antti Koivisto.
194
195         Copied resource files referenced from Speedometer directory since run-benchmark needs to be able
196         to checkout each benchmark separately.
197
198         Removed the code to create tests of the same name five times in makeSteps since this
199         won't be compatible with either run-benchmark or run-perf-tests.
200
201         * StyleBench/index.html: Removed the code to show warnings for local files since run-benchmark
202         doesn't use HTTP server in WebDriver mode.
203         * StyleBench/resources/benchmark-report.js: Copied from resources/benchmark-report.js.
204         * StyleBench/resources/benchmark-runner.js: Copied from resources/benchmark-runner.js.
205         (BenchmarkRunner.prototype._finalize): Use the correction factor of 8 instead of 5 in StyleBench.
206         * StyleBench/resources/gauge.png: Copied from resources/gauge.png.
207         * StyleBench/resources/gauge@2x.png: Copied from resources/gauge@2x.png.
208         * StyleBench/resources/main.css: Copied from resources/main.css.
209         * StyleBench/resources/main.js: Copied from resources/main.js.
210         * StyleBench/resources/tests.js:
211         (makeSteps): Only make each test once.
212
213 2018-01-26  Chris Nardi  <cnardi@chromium.org>
214
215         Addressing post-review comments after r226614
216         https://bugs.webkit.org/show_bug.cgi?id=182151
217
218         Reviewed by Myles C. Maxfield.
219
220         * StitchMarker/wtf/text/StringImpl.h:
221         (WTF::isSpaceOrNewline):
222         * StitchMarker/wtf/text/TextBreakIterator.cpp:
223         (WTF::numCodeUnitsInGraphemeClusters):
224         * StitchMarker/wtf/text/TextBreakIterator.h:
225
226 2018-01-22  Antti Koivisto  <antti@apple.com>
227
228         StyleBench: Separate test for :nth pseudo classes
229         https://bugs.webkit.org/show_bug.cgi?id=181932
230
231         Reviewed by Sam Weinig.
232
233         Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.
234
235         * StyleBench/resources/style-bench.js:
236         (structuralPseudoClassConfiguration):
237         (nthPseudoClassConfiguration):
238
239             Add a new configuration.
240
241         (predefinedConfigurations):
242         (pseudoClassConfiguration): Deleted.
243
244 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
245
246         Temporarily skip Speedometer until we fix the metrics.
247
248         * Skipped:
249
250 2018-01-16  Alex Christensen  <achristensen@webkit.org>
251
252         Fix Mac CMake build after r222900
253
254         * MallocBench/MallocBench/CMakeLists.txt:
255         The mbmalloc target doesn't exist if we're not in developer mode, so only use it if we are.
256
257 2018-01-09  Ryosuke Niwa  <rniwa@webkit.org>
258
259         Speedometer 2.0: Update the About page.
260         https://bugs.webkit.org/show_bug.cgi?id=175918
261
262         Reviewed by Keith Miller.
263
264         Updated the about page for Speedometer 2.0.
265
266         * Speedometer/index.html:
267
268 == Rolled over to ChangeLog-2018-01-01 ==