Benchmark: timing 2500 iterations of grepGen, mapGen, smartGen... grepGen: 23 wallclock secs (22.51 usr + 0.00 sys = 22.51 CPU) @ 111.06/s (n=2500) mapGen: 11 wallclock secs (11.42 usr + 0.00 sys = 11.42 CPU) @ 218.93/s (n=2500) smartGen: 1 wallclock secs ( 1.05 usr + 0.00 sys = 1.05 CPU) @ 2392.34/s (n=2500)