#!/usr/bin/perl
use strict;
use warnings;
use Benchmark qw(cmpthese);
my @a = map { (rand() * 1000) / 1000 } 1 .. 1000;
cmpthese(-1, {
'GF' => sub {GF($_) for @a},
'GF2' => sub {GF2($_) for @a},
'dex' => sub {dex($_) for @a},
'ccn' => sub {ccn($_) for @a}});
sub GF {
my $number = abs($_[0] * 100);
return $number - int ($number) > 0;
}
sub GF2 {
my $number = $_[0] * 100;
return $number - int ($number) > 0;
}
sub ccn {
$_[0] =~ /\..../;
}
sub dex {
my $number = $_[0];
return (($number*100) - int($number*100) > 0);
}
__END__
Rate dex GF GF2 ccn
dex 931/s -- -7% -19% -28%
GF 1000/s 7% -- -13% -23%
GF2 1152/s 24% 15% -- -11%
ccn 1297/s 39% 30% 13% --
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|