selenium-0001: SessionCapabilitiesMutator list.contains O(NxM) -> LinkedHashSet O(N+M). Grid Node session mutation hot path. Bench: 192x at N=M=1000. selenium-0002: ChromiumOptions merge helpers consolidate four list.contains loops behind addArgumentsUnique/addEncodedExtensionsUnique. Bench: 254x at N=M=1000. playwright-0001: roleUtils validRoles / allowsNameFromContent Array.includes on 20-70 element constant arrays per element. Converted to Set<string> at module load. Bench: 11x at N=10000 elements. webdriverio-0001: xpath-conditions extractOrConditions orMatches.find + values.includes per regex match -> Map<attr, Set<values>>. Bench: 6x at K=V=60 in the 'mobileSelectorPerformanceOptimizer'. Each defect ships: ticket, patch with complexity-gate header, Python benchmark + correctness test, Makefile, outreach brief. All 16 tests pass. UNDF IDs: 1276 (playwright), 1277 (selenium-0001), 1288 (selenium-0002), 1289 (webdriverio).
14 lines
741 B
Text
14 lines
741 B
Text
=== selenium-0001: SessionCapabilitiesMutator List.contains vs Set ===
|
|
N=M=10 : defective=0.003ms fixed=0.002ms speedup=1.6x
|
|
N=M=50 : defective=0.053ms fixed=0.007ms speedup=7.1x
|
|
N=M=100 : defective=0.208ms fixed=0.018ms speedup=11.3x
|
|
N=M=500 : defective=5.219ms fixed=0.123ms speedup=42.6x
|
|
N=M=1000 : defective=24.725ms fixed=0.129ms speedup=191.9x
|
|
|
|
=== selenium-0002: ChromiumOptions merge paths List.contains vs HashSet ===
|
|
N=M=10 : defective=0.013ms fixed=0.008ms speedup=1.5x
|
|
N=M=50 : defective=0.311ms fixed=0.039ms speedup=7.9x
|
|
N=M=100 : defective=1.305ms fixed=0.054ms speedup=24.0x
|
|
N=M=500 : defective=25.611ms fixed=0.297ms speedup=86.1x
|
|
N=M=1000 : defective=121.970ms fixed=0.481ms speedup=253.8x
|
|
|