Benchmark: timing 100 iterations of Baseline, Integers, LR_1, LR_2, Queue, blokhead... Baseline: 0.554613 wallclock secs ( 0.54 usr + 0.01 sys = 0.55 CPU) @ 181.82/s (n=100) (warning: too few iterations for a reliable count) Integers: 32.3786 wallclock secs (32.37 usr + 0.00 sys = 32.37 CPU) @ 3.09/s (n=100) LR_1: 18.7755 wallclock secs (18.77 usr + 0.00 sys = 18.77 CPU) @ 5.33/s (n=100) LR_2: 69.7311 wallclock secs (69.73 usr + 0.00 sys = 69.73 CPU) @ 1.43/s (n=100) Queue: 2.55908 wallclock secs ( 2.55 usr + 0.00 sys = 2.55 CPU) @ 39.22/s (n=100) blokhead: 95.6313 wallclock secs (95.62 usr + 0.01 sys = 95.63 CPU) @ 1.05/s (n=100) Rate blokhead LR_2 Integers LR_1 Queue Baseline blokhead 1.05/s -- -27% -66% -80% -97% -99% LR_2 1.43/s 37% -- -54% -73% -96% -99% Integers 3.09/s 195% 115% -- -42% -92% -98% LR_1 5.33/s 409% 271% 72% -- -86% -97% Queue 39.2/s 3650% 2635% 1169% 636% -- -78% Baseline 182/s 17287% 12578% 5785% 3313% 364% --