> 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%    --

Reply via email to