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