Repository navigation
Conversation
|
@tevinch is attempting to deploy a commit to the Tailwind Labs Team on Vercel. A member of the Team first needs to authorize it. |
|
Have you done perf testing? Would be good to include before/after on a large number of options to show the benefit. |
|
I added a repeated before/after comparison for npm 2.2.10 versus the packed build of 62be2bd. Median of five fresh-page trials after one warm-up, in milliseconds:
This used production bundles, React 19.3.0 and headed Chrome 154.0.8037.93 on macOS 14.6 / Apple M1. The metric runs from the capture-phase input event to the next animation-frame callback, excluding initial opening; it is not a completed-paint or INP measurement. The ordinary list retained the requested option count before and after typing The fixture and reproduction steps and all samples are available. These absolute baseline times are substantially slower than yours. This was a software-operated browser with its existing extensions and controller attached, not your Linux environment or exact reproduction. Some baseline operations exceeded the controller response deadline; I read their completed page metrics afterward without resending input. No timed sample was discarded. The comparison supports reduced update cost here, but I would not treat the ratio as a general speedup. |
Filtering a non-virtual Combobox currently sorts its options and notifies every subscription for each individual mount and unmount. This batches those updates by option ID, then orders the final list and notifies subscribers once per batch.
Pending updates are flushed before navigation, selection and explicit activation changes. This preserves synchronous ArrowUp opening, pointer lookup,
immediatefocus followed by Tab, and transitions to virtual options that reuse IDs. The public API and option count stay unchanged.Addresses #3898.
Validation:
These checks cover the repeated registration cost; they do not establish identical timing across browsers or applications.