#!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); { use bigint; # code that needs bigint my $r = 0x234; my $t = 0x345; my $x1 = $r << 32 | $t; #print $x1->as_hex; # other stuff that doesn't... # => unnecessarily slow! sub with_bigint { my $x = 1; $x = $x * 4 / 2 - 1 for 1..1000; } } # end of bigint sub no_bigint { my $x = 1; $x = $x * 4 / 2 - 1 for 1..1000; } cmpthese (-1, { with_bigint => \&with_bigint, no_bigint => \&no_bigint, }, ); __END__ Rate with_bigint no_bigint with_bigint 11.3/s -- -100% no_bigint 4073/s 35876% --