cmpthese( -10, { "normal" => sub { normal(500000) }, "tail" => sub { tail(500000) }, "faster" => sub { faster(500000) }, } ); #### s/iter normal tail faster normal 2.26 -- -22% -40% tail 1.77 28% -- -23% faster 1.36 66% 30% --