s/iter With undef Without undef With undef 22.5 -- -9% Without undef 20.6 10% -- #### s/iter With undef Without undef With undef 22.5 -- -8% Without undef 20.7 9% -- #### use strict; use warnings; use Benchmark qw(:all); sub without_undef { # Create a large hash my %hash; my $count = 3_000_000; $hash{$count} = rand(10) while $count--; } sub with_undef { # Create a large hash my %hash; my $count = 3_000_000; $hash{$count} = rand(10) while $count--; # Undefine it undef %hash; } cmpthese(20, { 'Without undef' => \&without_undef, 'With undef' => \&with_undef, });