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