Benchmark: timing 200 iterations of lookahead1, lookahead3, lookahead4, lookahead5, nolookahead... lookahead1: 3 wallclock secs ( 2.93 usr + 0.00 sys = 2.93 CPU) @ 68.26/s (n=200) lookahead3: 2 wallclock secs ( 2.23 usr + 0.00 sys = 2.23 CPU) @ 89.69/s (n=200) lookahead4: 2 wallclock secs ( 2.03 usr + 0.00 sys = 2.03 CPU) @ 98.52/s (n=200) lookahead5: 2 wallclock secs ( 2.00 usr + 0.00 sys = 2.00 CPU) @ 100.00/s (n=200) nolookahead: 7 wallclock secs ( 6.30 usr + 0.00 sys = 6.30 CPU) @ 31.75/s (n=200)