Benchmark: timing 100000 iterations of if_regex, if_substr, regex, substr... if_regex: 3 wallclock secs ( 2.50 usr + 0.00 sys = 2.50 CPU) @ 40000.00/s (n=100000) if_substr: 2 wallclock secs ( 2.47 usr + 0.00 sys = 2.47 CPU) @ 40485.83/s (n=100000) regex: 5 wallclock secs ( 4.88 usr + 0.00 sys = 4.88 CPU) @ 20491.80/s (n=100000) substr: 4 wallclock secs ( 2.57 usr + 0.00 sys = 2.57 CPU) @ 38910.51/s (n=100000) Rate regex substr if_regex if_substr regex 20492/s -- -47% -49% -49% substr 38911/s 90% -- -3% -4% if_regex 40000/s 95% 3% -- -1% if_substr 40486/s 98% 4% 1% --