160
edits
(Add detailed description for Stylo gtest microbenchmarks) |
|||
Line 1,330: | Line 1,330: | ||
Some examples of things that cause regressions in this test are: | Some examples of things that cause regressions in this test are: | ||
* Please update this when regressions are found | * Please update this when regressions are found | ||
=== Stylo gtest microbenchmarks === | |||
* contact: :bholley, :SimonSapin | |||
* source: [https://dxr.mozilla.org/mozilla-central/source/layout/style/test/gtest] | |||
* type: [https://wiki.mozilla.org/Buildbot/Talos/Tests#Microbench Microbench] | |||
* reporting: intervals in ms (lower is better) | |||
* data: each test is run and measured 5 times | |||
* summarization: take the [https://wiki.mozilla.org/Buildbot/Talos/Data#median median] of the 5 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/gtest/mozilla/MozGTestBench.cpp#43-46 source: MozGTestBench.cpp] | |||
Servo_StyleSheet_FromUTF8Bytes_Bench parses a sample stylesheet 20 times with Stylo’s CSS parser that is written in Rust. It starts from an in-memory UTF-8 string, so that I/O or UTF-16-to-UTF-8 conversion is not measured. | |||
Gecko_nsCSSParser_ParseSheet_Bench does the same with Gecko’s previous CSS parser that is written in C++, for comparison. | |||
Servo_DeclarationBlock_SetPropertyById_Bench parses the string "10px" with Stylo’s CSS parser and sets it as the value of a property in a declaration block, a million times. This is similar to animations that are based on JavaScript code modifying Element.style instead of using CSS @keyframes. | |||
Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench is the same, but with the string " 10px" with an initial space. That initial space is less typical of JS animations, but is almost always there in stylesheets or full declarations like "width: 10px". This microbenchmark was used to test the effect of some specific code changes. Regressions here may be acceptable if Servo_StyleSheet_FromUTF8Bytes_Bench is not affected. | |||
==== Possible regression causes ==== | |||
* None listed yet. If you fix a regression for this test and have some tips to share, this is a good place for them. |
edits