- or download this
use Benchmark qw(:all);
use Math::BigInt;
...
'iterate' => sub { iterate( 100) },
'direct' => sub { direct( 100) },
});
- or download this
Benchmark: timing 1000 iterations of direct, iterate, recurse...
direct: 1 wallclock secs ( 1.68 usr + 0.00 sys = 1.68 CPU) @ 59
+5.24/s (n=1000)
...
iterate 104/s -- -0% -82%
recurse 105/s 0% -- -82%
direct 595/s 470% 468% --
- or download this
use Benchmark qw(:all);
use Math::GMP;
...
'iterate' => sub { iterate( 25_000) },
'direct' => sub { direct( 25_000) },
});
- or download this
Benchmark: timing 10 iterations of direct, iterate, recurse...
direct: 0 wallclock secs ( 0.24 usr + 0.01 sys = 0.25 CPU) @ 40
+.00/s (n=10)
...
iterate 1.28/s -- -1% -97%
recurse 1.29/s 1% -- -97%
direct 40.0/s 3024% 2992% --