Benchmark: timing 100 iterations of first, grep, pq... first: 13 wallclock secs (13.55 usr + 0.00 sys = 13.55 CPU) @ 7.38/s (n=100) grep: 59 wallclock secs (58.09 usr + 0.17 sys = 58.27 CPU) @ 1.72/s (n=100) pq: 1 wallclock secs ( 0.86 usr + 0.00 sys = 0.86 CPU) @ 116.41/s (n=100)