=== pyramid-0001: RoutesMapper.connect() — list membership test + removal on route replace ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=24.8x
N=500   k=500  : defective=2.034ms  fixed=0.019ms  speedup=104.8x
N=1000  k=1000 : defective=8.734ms  fixed=0.046ms  speedup=187.9x
N=2000  k=2000 : defective=34.359ms  fixed=0.092ms  speedup=375.5x

=== pyramid-0002: config/views.py StaticURLInfo — names list rebuild + index() + pop() on every static view registration ===
N=100   k=100  : defective=0.082ms  fixed=0.003ms  speedup=24.8x
N=500   k=500  : defective=2.084ms  fixed=0.019ms  speedup=107.3x
N=1000  k=1000 : defective=8.713ms  fixed=0.045ms  speedup=193.8x
N=2000  k=2000 : defective=34.291ms  fixed=0.093ms  speedup=367.5x

=== pyramid-0003: config/actions.py resolveConflicts() — list.remove() inside sorted output loop ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=25.1x
N=500   k=500  : defective=2.171ms  fixed=0.020ms  speedup=109.8x
N=1000  k=1000 : defective=8.200ms  fixed=0.043ms  speedup=189.7x
N=2000  k=2000 : defective=33.635ms  fixed=0.092ms  speedup=364.3x

=== pyramid-0004: util.py TopologicalSorter.sorted() — list used as queue with O(n) pop(0)/insert(0) and O(n) roots membership + remove() ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=24.4x
N=500   k=500  : defective=2.047ms  fixed=0.020ms  speedup=103.9x
N=1000  k=1000 : defective=8.208ms  fixed=0.046ms  speedup=180.1x
N=2000  k=2000 : defective=35.712ms  fixed=0.093ms  speedup=384.0x

=== pyramid-0005: registry.py Introspector.relate()/unrelate() — list-backed relationship tracking with O(n) membership and removal ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=24.4x
N=500   k=500  : defective=2.027ms  fixed=0.020ms  speedup=103.8x
N=1000  k=1000 : defective=8.381ms  fixed=0.044ms  speedup=188.4x
N=2000  k=2000 : defective=34.041ms  fixed=0.091ms  speedup=372.4x

