'tye2' => sub { my $f = ord($str_a); for my $str_b ( @list ) { next if $f != ord( $str_b ); expensive_function ( $str_a, $str_b ); } }, #### Rate hb1 hb2 L~R3 BUk L~R2 dlrm L~R tye1 kvale tye2 hb1 46.5/s -- -35% -35% -38% -60% -62% -70% -73% -73% -74% hb2 71.4/s 53% -- -0% -6% -38% -42% -54% -59% -59% -61% L~R3 71.4/s 53% 0% -- -6% -38% -42% -54% -59% -59% -61% BUk 75.7/s 63% 6% 6% -- -35% -39% -51% -56% -56% -58% L~R2 116/s 149% 62% 62% 53% -- -6% -25% -33% -33% -36% dlrm 124/s 166% 73% 73% 63% 7% -- -20% -28% -29% -32% L~R 155/s 233% 117% 117% 105% 34% 25% -- -10% -11% -14% tye1 172/s 270% 141% 141% 128% 48% 39% 11% -- -1% -5% kvale 174/s 274% 143% 143% 130% 50% 41% 12% 1% -- -4% tye2 181/s 289% 154% 154% 139% 56% 46% 17% 5% 4% --