=== proton-0001: find_iface_constructor linear strcmp scan O(C) per lookup ===
N=100   k=100  : defective=0.088ms  fixed=0.004ms  speedup=24.5x
N=500   k=500  : defective=2.175ms  fixed=0.021ms  speedup=105.9x
N=1000  k=1000 : defective=8.635ms  fixed=0.046ms  speedup=186.5x
N=2000  k=2000 : defective=35.923ms  fixed=0.096ms  speedup=374.7x

=== proton-0002: merge_user_dir extant_dirs list explosion O(D×P) ===
N=100   k=100  : defective=0.084ms  fixed=0.003ms  speedup=24.7x
N=500   k=500  : defective=2.138ms  fixed=0.021ms  speedup=102.3x
N=1000  k=1000 : defective=9.015ms  fixed=0.045ms  speedup=199.7x
N=2000  k=2000 : defective=35.649ms  fixed=0.097ms  speedup=366.6x

