$ perl pm_1196786.pl 131, keys 131 str: 131 131, keys 131 stj: 131 big: 131 pak: 131 dbl: 131 Benchmark: timing 200000 iterations of BigA, BigB, BigC, DblA, DblB, DblC, PakA, PakB, PakC, StjA, StjB, StjC, StrA, StrB, StrC... BigA: 7 wallclock secs ( 6.51 usr + 0.00 sys = 6.51 CPU) @ 30698.39/s (n=200000) BigB: 13 wallclock secs (12.95 usr + 0.00 sys = 12.95 CPU) @ 15439.25/s (n=200000) BigC: 19 wallclock secs (18.97 usr + 0.00 sys = 18.97 CPU) @ 10543.52/s (n=200000) DblA: 6 wallclock secs ( 6.50 usr + 0.00 sys = 6.50 CPU) @ 30773.97/s (n=200000) DblB: 10 wallclock secs ( 9.23 usr + 0.00 sys = 9.23 CPU) @ 21659.09/s (n=200000) DblC: 12 wallclock secs (11.97 usr + 0.00 sys = 11.97 CPU) @ 16709.83/s (n=200000) PakA: 6 wallclock secs ( 6.31 usr + 0.00 sys = 6.31 CPU) @ 31685.68/s (n=200000) PakB: 13 wallclock secs (12.45 usr + 0.00 sys = 12.45 CPU) @ 16060.39/s (n=200000) PakC: 18 wallclock secs (18.34 usr + 0.00 sys = 18.34 CPU) @ 10902.75/s (n=200000) StjA: 7 wallclock secs ( 6.91 usr + 0.00 sys = 6.91 CPU) @ 28960.32/s (n=200000) StjB: 14 wallclock secs (13.56 usr + 0.00 sys = 13.56 CPU) @ 14746.00/s (n=200000) StjC: 20 wallclock secs (19.94 usr + 0.00 sys = 19.94 CPU) @ 10031.10/s (n=200000) StrA: 6 wallclock secs ( 6.36 usr + 0.00 sys = 6.36 CPU) @ 31446.54/s (n=200000) StrB: 13 wallclock secs (12.67 usr + 0.00 sys = 12.67 CPU) @ 15782.83/s (n=200000) StrC: 19 wallclock secs (18.69 usr + 0.00 sys = 18.69 CPU) @ 10702.63/s (n=200000)