#!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); cmpthese(-1, { bless => sub { my @o; for (0..1000) { my $h = { foo => 'bar' }; bless $h, 'Foo'; push @o, $h; } }, nobless => sub { my @o; for (0..1000) { my $h = { foo => 'bar' }; push @o, $h; } }, bless_scalar => sub { my @o; for (0..1000) { my $s = \(my $t); bless $s, 'Foo'; push @o, $s; } } } ); #### Rate bless nobless bless_reuse bless 575/s -- -32% -39% nobless 845/s 47% -- -11% bless_scalar 948/s 65% 12% --