Tracking issue recording the conditions for picking the #418 experiment back up, per its close-out.
#418 replaced the innermost layer of the three-layer quad index with Sets. Its own numbers showed a clear insert-path regression (load 23.3s → 39.7s, 855 MB → 1083 MB), and read-path benchmarks were never produced to offset it. Anyone revisiting this should start from a fresh branch and:
Tracking issue recording the conditions for picking the #418 experiment back up, per its close-out.
#418 replaced the innermost layer of the three-layer quad index with
Sets. Its own numbers showed a clear insert-path regression (load 23.3s → 39.7s, 855 MB → 1083 MB), and read-path benchmarks were never produced to offset it. Anyone revisiting this should start from a fresh branch and:match/getQuads/countQuadsover large stores) alongside the insert path, using theperf/scripts;for...in/key inand assume plain-object leaves, so Set leaves would silently breakintersection/differencetoday (git reports no conflicts, which makes this easy to miss);Set.prototype.isSubsetOfneeds Node >= 22 whileenginesdeclares >= 12, so set-algebra fast paths need feature detection or another shape;WeakMap#434, which may reshape the same layer.