> Did someone say something about a benchmark?
This is interesting...
#!/usr/bin/env perl
use strict;
use Benchmark qw(cmpthese);
use log10;
use POSIX qw(log10);
cmpthese(-10, {
'POSIX' => sub {
foreach my $i (1..100) {
my $x = log10($i);
}
},
'Perl' => sub {
foreach my $i (1..100) {
my $x = log($i)/log(10);
}
},
'XSub' => sub {
foreach my $i (1..100) {
my $x = log10::log10($i);
}
},
});
Benchmark: running POSIX, Perl, XSub, each for at least 10 CPU seconds...
POSIX: 9 wallclock secs (10.56 usr + 0.00 sys = 10.56 CPU) @ 11433.71/s
(n=120740)
Perl: 11 wallclock secs (10.53 usr + 0.02 sys = 10.55 CPU) @ 12985.69/s
(n=136999)
XSub: 11 wallclock secs (10.53 usr + 0.00 sys = 10.53 CPU) @ 11787.75/s
(n=124125)
Rate POSIX XSub Perl
POSIX 11434/s -- -3% -12%
XSub 11788/s 3% -- -9%
Perl 12986/s 14% 10% --