$ for i in {1..10}; do ./hash-key-len.pl ; done Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.70 usr + 0.00 sys = 5.70 CPU) @ 1754385.96/s (n=10000000) chrQ: 5 wallclock secs ( 5.48 usr + 0.00 sys = 5.48 CPU) @ 1824817.52/s (n=10000000) numD: 5 wallclock secs ( 5.58 usr + 0.00 sys = 5.58 CPU) @ 1792114.70/s (n=10000000) numQ: 5 wallclock secs ( 5.53 usr + 0.00 sys = 5.53 CPU) @ 1808318.26/s (n=10000000) Rate chrD numD numQ chrQ chrD 1754386/s -- -2% -3% -4% numD 1792115/s 2% -- -1% -2% numQ 1808318/s 3% 1% -- -1% chrQ 1824818/s 4% 2% 1% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 7 wallclock secs ( 5.71 usr + 0.00 sys = 5.71 CPU) @ 1751313.49/s (n=10000000) chrQ: 8 wallclock secs ( 5.76 usr + 0.00 sys = 5.76 CPU) @ 1736111.11/s (n=10000000) numD: 4 wallclock secs ( 5.48 usr + 0.00 sys = 5.48 CPU) @ 1824817.52/s (n=10000000) numQ: 5 wallclock secs ( 5.62 usr + 0.00 sys = 5.62 CPU) @ 1779359.43/s (n=10000000) Rate chrQ chrD numQ numD chrQ 1736111/s -- -1% -2% -5% chrD 1751313/s 1% -- -2% -4% numQ 1779359/s 2% 2% -- -2% numD 1824818/s 5% 4% 3% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.68 usr + -0.01 sys = 5.67 CPU) @ 1763668.43/s (n=10000000) chrQ: 5 wallclock secs ( 5.56 usr + 0.00 sys = 5.56 CPU) @ 1798561.15/s (n=10000000) numD: 6 wallclock secs ( 5.67 usr + 0.00 sys = 5.67 CPU) @ 1763668.43/s (n=10000000) numQ: 5 wallclock secs ( 5.49 usr + 0.00 sys = 5.49 CPU) @ 1821493.62/s (n=10000000) Rate numD chrD chrQ numQ numD 1763668/s -- -0% -2% -3% chrD 1763668/s 0% -- -2% -3% chrQ 1798561/s 2% 2% -- -1% numQ 1821494/s 3% 3% 1% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.55 usr + 0.00 sys = 5.55 CPU) @ 1801801.80/s (n=10000000) chrQ: 5 wallclock secs ( 5.35 usr + 0.00 sys = 5.35 CPU) @ 1869158.88/s (n=10000000) numD: 7 wallclock secs ( 5.55 usr + 0.00 sys = 5.55 CPU) @ 1801801.80/s (n=10000000) numQ: 5 wallclock secs ( 5.00 usr + 0.00 sys = 5.00 CPU) @ 2000000.00/s (n=10000000) Rate chrD numD chrQ numQ chrD 1801802/s -- -0% -4% -10% numD 1801802/s 0% -- -4% -10% chrQ 1869159/s 4% 4% -- -7% numQ 2000000/s 11% 11% 7% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 6 wallclock secs ( 5.69 usr + 0.00 sys = 5.69 CPU) @ 1757469.24/s (n=10000000) chrQ: 5 wallclock secs ( 5.65 usr + 0.00 sys = 5.65 CPU) @ 1769911.50/s (n=10000000) numD: 7 wallclock secs ( 5.02 usr + 0.00 sys = 5.02 CPU) @ 1992031.87/s (n=10000000) numQ: 4 wallclock secs ( 5.59 usr + 0.00 sys = 5.59 CPU) @ 1788908.77/s (n=10000000) Rate chrD chrQ numQ numD chrD 1757469/s -- -1% -2% -12% chrQ 1769912/s 1% -- -1% -11% numQ 1788909/s 2% 1% -- -10% numD 1992032/s 13% 13% 11% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.68 usr + 0.00 sys = 5.68 CPU) @ 1760563.38/s (n=10000000) chrQ: 5 wallclock secs ( 5.43 usr + 0.00 sys = 5.43 CPU) @ 1841620.63/s (n=10000000) numD: 7 wallclock secs ( 5.72 usr + 0.00 sys = 5.72 CPU) @ 1748251.75/s (n=10000000) numQ: 6 wallclock secs ( 5.52 usr + 0.00 sys = 5.52 CPU) @ 1811594.20/s (n=10000000) Rate numD chrD numQ chrQ numD 1748252/s -- -1% -3% -5% chrD 1760563/s 1% -- -3% -4% numQ 1811594/s 4% 3% -- -2% chrQ 1841621/s 5% 5% 2% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.81 usr + 0.00 sys = 5.81 CPU) @ 1721170.40/s (n=10000000) chrQ: 5 wallclock secs ( 5.51 usr + 0.00 sys = 5.51 CPU) @ 1814882.03/s (n=10000000) numD: 5 wallclock secs ( 5.57 usr + 0.00 sys = 5.57 CPU) @ 1795332.14/s (n=10000000) numQ: 7 wallclock secs ( 5.69 usr + 0.00 sys = 5.69 CPU) @ 1757469.24/s (n=10000000) Rate chrD numQ numD chrQ chrD 1721170/s -- -2% -4% -5% numQ 1757469/s 2% -- -2% -3% numD 1795332/s 4% 2% -- -1% chrQ 1814882/s 5% 3% 1% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 7 wallclock secs ( 5.62 usr + 0.00 sys = 5.62 CPU) @ 1779359.43/s (n=10000000) chrQ: 6 wallclock secs ( 5.52 usr + 0.00 sys = 5.52 CPU) @ 1811594.20/s (n=10000000) numD: 5 wallclock secs ( 5.55 usr + 0.00 sys = 5.55 CPU) @ 1801801.80/s (n=10000000) numQ: 7 wallclock secs ( 5.55 usr + 0.00 sys = 5.55 CPU) @ 1801801.80/s (n=10000000) Rate chrD numQ numD chrQ chrD 1779359/s -- -1% -1% -2% numQ 1801802/s 1% -- -0% -1% numD 1801802/s 1% -0% -- -1% chrQ 1811594/s 2% 1% 1% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 4 wallclock secs ( 5.73 usr + 0.00 sys = 5.73 CPU) @ 1745200.70/s (n=10000000) chrQ: 7 wallclock secs ( 5.51 usr + 0.00 sys = 5.51 CPU) @ 1814882.03/s (n=10000000) numD: 6 wallclock secs ( 5.58 usr + 0.00 sys = 5.58 CPU) @ 1792114.70/s (n=10000000) numQ: 5 wallclock secs ( 5.60 usr + 0.00 sys = 5.60 CPU) @ 1785714.29/s (n=10000000) Rate chrD numQ numD chrQ chrD 1745201/s -- -2% -3% -4% numQ 1785714/s 2% -- -0% -2% numD 1792115/s 3% 0% -- -1% chrQ 1814882/s 4% 2% 1% -- Benchmark: timing 10000000 iterations of chrD, chrQ, numD, numQ... chrD: 5 wallclock secs ( 5.81 usr + 0.00 sys = 5.81 CPU) @ 1721170.40/s (n=10000000) chrQ: 5 wallclock secs ( 5.44 usr + 0.00 sys = 5.44 CPU) @ 1838235.29/s (n=10000000) numD: 7 wallclock secs ( 5.60 usr + 0.00 sys = 5.60 CPU) @ 1785714.29/s (n=10000000) numQ: 7 wallclock secs ( 5.72 usr + 0.00 sys = 5.72 CPU) @ 1748251.75/s (n=10000000) Rate chrD numQ numD chrQ chrD 1721170/s -- -2% -4% -6% numQ 1748252/s 2% -- -2% -5% numD 1785714/s 4% 2% -- -3% chrQ 1838235/s 7% 5% 3% --