Closed krausest closed 6 years ago
@leeoniya @adamhaile @Bobris @localvoid Looking forward to hearing your opinion.
some quick observations:
estimated input latency
looks uselessfirst meaningful paint
and first contentful paint
are the samefirst interactive
and consistently interactive
are the sameonload
looks suspect where total byte weight
does not match (vidom, elm?)first meaningful paint
looks wrong - might be the result of rendering a skeleton and placing the script at the bottom. i think this should actually be changed for all impls (put script at bottom - may help bring some things in line)@leeoniya
first interactive and consistently interactive are the same
Feared this too, but it's not. hyperapp-v0.16.0-keyed has a small difference!
hyperapp-v0.16.0-keyed has a small difference!
i think you mean first contentful paint
and first meaningful paint
. a 0.1ms difference in one lib is neither significant nor interesting enough to burden the entire bench runtime. it's very likely just noise.
agree with the above observations.
I'd suggest Consistently Interactive, script bootup, main thread work cost, and total byte weight (to keep the network costs in the picture). FMP could also be considered, but I think it's going to deliver the same point as Consistently Interactive too often for it to be called out individually.
it's worth pointing out the dependencies between the above metrics, too.
Main thread work cost
includes all script bootup
time. So the most-top level choices for runtime would be Consistently Interactive
and main thread work cost
. There will be a correlation between these two but it's possible to have a fast CI even with lots of main thread work; so I think it's good to represent both.
And yah I do like including total byte weight
. (And agree bytes and milliseconds shouldn't be averaged together. :)
looking at the data, paul's advice is spot on. i've opened #334 to reduce the noise.
changing STARTUP_SLEEP_DURATION from 1000 to 0 should likely be re-evaulated too, i think.
Just want to mention that 'main thread work cost' is a bit random on my computer.
On the left you see vanillajs, in the middle my lib, on the right lit-html.
@paulirish submitted a PR adding lighthouse creating lots of interesting information for the benchmark startup - thanks Paul! As an experiment I added them all to the results table.
We should discuss here which rows we want to keep. My preferred metrics are:
See also #326 for Paul's recommendations.