or download this
Benchmark: timing 100000 iterations of join, loop, quote...
join: 3 wallclock secs ( 2.30 usr + 0.00 sys = 2.30 CPU) @ 43
+402.78/s (n=100000)
loop: 17 wallclock secs (16.03 usr + 0.00 sys = 16.03 CPU) @ 62
+37.52/s (n=100000)
quote: 5 wallclock secs ( 3.79 usr + 0.00 sys = 3.79 CPU) @ 26
+420.08/s (n=100000)