=== frrouting-0001: CWE-407: list-scan inside loop in frrouting-0001 (generic model) ===
N=100   k=100  : defective=0.084ms  fixed=0.003ms  speedup=25.5x
N=500   k=500  : defective=2.105ms  fixed=0.021ms  speedup=102.5x
N=1000  k=1000 : defective=8.559ms  fixed=0.046ms  speedup=185.9x
N=2000  k=2000 : defective=34.185ms  fixed=0.092ms  speedup=371.7x

=== frrouting-0002: CWE-407: list-scan inside loop in frrouting-0002 (generic model) ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=25.5x
N=500   k=500  : defective=2.013ms  fixed=0.019ms  speedup=103.3x
N=1000  k=1000 : defective=8.494ms  fixed=0.043ms  speedup=195.6x
N=2000  k=2000 : defective=34.374ms  fixed=0.091ms  speedup=377.3x

=== frrouting-0003: community_uniq_sort O(N²) → O(N log N) sort+dedup ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=25.1x
N=500   k=500  : defective=2.013ms  fixed=0.020ms  speedup=103.1x
N=1000  k=1000 : defective=8.285ms  fixed=0.044ms  speedup=188.8x
N=2000  k=2000 : defective=33.987ms  fixed=0.092ms  speedup=368.3x

=== frrouting-0004: ecommunity_include O(E1×E2) → O(E1+E2) merge-intersection ===
N=100   k=100  : defective=0.081ms  fixed=0.003ms  speedup=25.6x
N=500   k=500  : defective=2.046ms  fixed=0.033ms  speedup=62.1x
N=1000  k=1000 : defective=8.334ms  fixed=0.044ms  speedup=187.8x
N=2000  k=2000 : defective=34.179ms  fixed=0.098ms  speedup=350.3x

