Commits
Click on a commit to change the comparison rangeperf: pre-compute conflict arrays at initialization
Pre-compute conflict arrays in Maps at initialization time instead of
concatenating arrays at runtime on every call to getConflictingClassGroupIds.
Architectural improvement:
- Build conflictsWithoutPostfix Map for all class groups with conflicts
- Build conflictsWithPostfix Map with pre-merged arrays for classes
that have both base conflicts and modifier conflicts
- Eliminates runtime concatArrays() calls, replacing with O(1) Map lookups
This moves work from the hot path (called for every Tailwind class)
to initialization time (called once). The concatArrays operation was
creating new arrays and copying elements on every conflict check.
Benchmark results show ~2.6% improvement on 'collection without cache'
(from 114.02 hz to 116.97 hz).3 months ago
by quantizor test: add ultra long class list benchmark
Add benchmark for ultra long class lists with many conflicts to demonstrate performance characteristics with large class sets.2 months ago
by quantizor revert: remove array-based string building optimization
The optimization provides no benefit since the function is only called with >1 strings, making the array-based approach unnecessary overhead.2 months ago
by quantizor Make benchmark test names consistent