Skip to content

Perf instrument gap: Yoga/Flex layout work (#670) is not exercised by any /perf workload #733

Description

@azchohfi

What

PR #670 ("Yoga layout+memory") optimizes the Yoga/Flex layout engine, but no /perf workload is Yoga-heavy enough to surface it, so the optimization cannot currently be measured.

Evidence

Re-validated on current main (post-#692 + #665) — #670 reads flat: all macro blocks within noise, alloc 5.70M −0.1%, all 17 micros 0.0%. (Its prior borderline rps +3.4% flag also did not reproduce — now +1.2% [−2.6, +5.0], confirming it was a macro-rps false-positive.)

Why it's a gap, not a no-op

The available workloads don't stress the Flex/Yoga path:

  • StocksGrid is a native Grid (Yoga-light).
  • The FlexPanel-heavy VirtualList is vsync-capped + virtualized, so any per-frame alloc win sits below MB-level memory resolution.

Action

  1. Add a FlexPanel/Yoga-heavy stress workload (deep nested flex tree with per-tick layout churn, not vsync-capped) so the layout-engine allocation/measure deltas are observable.
  2. Re-measure perf: Yoga layout-cache guards + inline per-node arrays #670 against it.
  3. If the win is real, revive the change (implementation on PR perf: Yoga layout-cache guards + inline per-node arrays #670's branch, closed pending this workload).

Filed as a follow-up so the idea isn't lost; #670 itself is closed as not-currently-measurable.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions