Equal sized strings. Benchmark: running bquoteDiff, bquoteSame, join, loopBeg, loopMid, loopSame, quote, each for at least 2 CPU seconds... bquoteDiff: 2 wallclock secs ( 2.02 usr + 0.00 sys = 2.02 CPU) @ 21153.73/s (n=42794) bquoteSame: 2 wallclock secs ( 2.05 usr + 0.00 sys = 2.05 CPU) @ 10422.80/s (n=21398) join: 3 wallclock secs ( 2.10 usr + 0.00 sys = 2.10 CPU) @ 31310.51/s (n=65846) loopBeg: 2 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 30084.42/s (n=64501) loopMid: 2 wallclock secs ( 2.08 usr + 0.00 sys = 2.08 CPU) @ 13698.51/s (n=28534) loopSame: 2 wallclock secs ( 2.09 usr + 0.00 sys = 2.09 CPU) @ 8104.16/s (n=16962) quote: 3 wallclock secs ( 2.13 usr + 0.00 sys = 2.13 CPU) @ 20563.53/s (n=43862) Different sized. Benchmark: running bquote, join, loop, quote, each for at least 2 CPU seconds... bquote: 2 wallclock secs ( 2.24 usr + 0.00 sys = 2.24 CPU) @ 31813.73/s (n=71390) join: 1 wallclock secs ( 2.13 usr + 0.00 sys = 2.13 CPU) @ 44310.68/s (n=94559) loop: 3 wallclock secs ( 2.00 usr + 0.00 sys = 2.00 CPU) @ 57423.08/s (n=114961) quote: 1 wallclock secs ( 2.11 usr + 0.00 sys = 2.11 CPU) @ 32110.27/s (n=67849)