v153 · self-profiling markers

Four workloads, one profile

A numeric loop, an allocation storm, a layout thrash and a style recalculation. Four different kinds of slow, profiled one after another with a real Profiler — and then compared on the only things a trace gives you: which frames appeared, and how the samples were divided between them.

Profile all four

Press the button.

"Shape" is the trace reduced to what a flame chart would show you: the leaf frames, in order of how many samples landed on each, with their share. Two workloads with the same shape are two workloads a self-profile cannot tell apart.

Every pair, compared

Each pair of workloads, and whether their traces differ
pairsame frames?leaf share differencedistinguishable?
Not run yet.

What a marker would add

The same four runs, if each sample said what the browser was doing
workloadthe trace saysa marker would say

The right-hand column is the proposal's vocabulary applied to what each workload is designed to do — it is a label for the reader, not a measurement, and this page will not print a marker value it did not receive. When a browser supplies them, the middle and right columns come from the same trace and the difference disappears.

see also