use Benchmark qw( cmpthese ); my $large_number = 3 * 1234647389; cmpthese( -1, { modulo => sub { $large_number % 3 == 0 }, divide => sub { my $v; $v += $_ for split //, $large_number; $v % 3 == 0}, }); -------- Rate divide modulo divide 30919/s -- -99% modulo 2120579/s 6759% --