#!/usr/bin/perl use warnings; use strict; use Benchmark; my %bighashname; my %b; timethese(10000, { hashbigname => sub { for(1..1000){ $bighashname{"bighashval$_"} = $_ } for(1..1000){ $bighashname{"bighashval$_"}++; } }, hashsmallname => sub { for(1..1000){ $b{"b$_"} = $_ } for(1..1000){ $b{"b$_"}++; } }, }); #Benchmark: timing 10000 iterations of hashbigname, hashsmallname... #hashbigname: 39 wallclock secs (39.27 usr + 0.00 sys = #39.27 CPU) @ 254.65/s (n=10000) #hashsmallname: 35 wallclock secs (34.66 usr + 0.00 sys = #34.66 CPU) @ 288.52/s (n=10000)