Benchmark: timing 100000 iterations of Baseline, Integers, LR_1, LR_2, Queue, blokhead... Baseline: 1.62766 wallclock secs ( 1.63 usr + 0.00 sys = 1.63 CPU) @ 61349.69/s (n=100000) Integers: 7.29155 wallclock secs ( 7.28 usr + 0.01 sys = 7.29 CPU) @ 13717.42/s (n=100000) LR_1: 7.017 wallclock secs ( 7.02 usr + 0.00 sys = 7.02 CPU) @ 14245.01/s (n=100000) LR_2: 7.79621 wallclock secs ( 7.80 usr + 0.00 sys = 7.80 CPU) @ 12820.51/s (n=100000) Queue: 3.60201 wallclock secs ( 3.60 usr + 0.00 sys = 3.60 CPU) @ 27777.78/s (n=100000) blokhead: 9.88667 wallclock secs ( 9.89 usr + 0.00 sys = 9.89 CPU) @ 10111.22/s (n=100000) Rate blokhead LR_2 Integers LR_1 Queue Baseline blokhead 10111/s -- -21% -26% -29% -64% -84% LR_2 12821/s 27% -- -7% -10% -54% -79% Integers 13717/s 36% 7% -- -4% -51% -78% LR_1 14245/s 41% 11% 4% -- -49% -77% Queue 27778/s 175% 117% 103% 95% -- -55% Baseline 61350/s 507% 379% 347% 331% 121% --