HOW: High jump rules: Each test is given 3 attempts to complete inside an animation frame.
WHAT: Instead of measuring time, we are only checking whether the specific action can be performed in a single
animation frame (e.g. less than 17ms). The three tests below are all building a DOM tree of many <span>
elements. All three are run with a different number of spans and the results are recorded as pass/fail.
WHY: There are a number of innovations to this approach:
For each test, the test runner loads a new page, minimizing leaks between runs
We explicitly do not attempt to warm-up the benchmark, real apps don't have this luxury
Instead of measuring JS execution time, this runner measures time between scheduled repaints. This means the layout and paint times are included in the test