]> git.vpit.fr Git - perl/modules/Scalar-Vec-Util.git/commitdiff
Importing Scalar-Vec-Util-0.04.tar.gz v0.04
authorVincent Pit <vince@profvince.com>
Sun, 29 Jun 2008 16:15:10 +0000 (18:15 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 29 Jun 2008 16:15:10 +0000 (18:15 +0200)
Changes
META.yml
README
lib/Scalar/Vec/Util.pm
t/02-pp.t

diff --git a/Changes b/Changes
index 78cd7408f1785faa6f742bb3932fd65bca3445ef..86b2bc483f68d0c445c6bacbd49421a457c5f596 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,9 @@
 Revision history for Scalar-Vec-Util
 
+0.04    2008-06-02 20:40 UTC
+        + Doc : More benchmarks.
+        + Fix : t/02-pp.t failed when the tested version was already installed.
+
 0.03    2008-06-01 12:30 UTC
         + Chg : samples/bench.pl now compares with Bit::Vector when available.
         + Doc : Show the benchmark.
index 27b65827704ec545fb5473cabd0013b84372f790..7e6ccba282b56b34ac5ab11d1d7f8bd84709a1da 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                Scalar-Vec-Util
-version:             0.03
+version:             0.04
 abstract:            Utility routines for vec strings.
 license:             perl
 author:              
diff --git a/README b/README
index ca8ba6bc9f083dde901208b6a0abdf73fe68dfe6..aecc0ad616070cc6475d289e7fa15f966b8cfb79 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     Scalar::Vec::Util - Utility routines for vec strings.
 
 VERSION
-    Version 0.03
+    Version 0.04
 
 SYNOPSIS
         use Scalar::Vec::Util qw/vfill vcopy veq/;
@@ -58,35 +58,77 @@ EXPORT
 
 BENCHMARKS
     The following timings were obtained by running the "samples/bench.pl"
-    script with perl 5.8.8 on a Core 2 Duo 2.66GHz machine. The "_pp"
-    entries are the pure Perl versions, while "_bv" are Bit::Vector
-    versions.
+    script. The "_pp" entries are the pure Perl versions, while "_bv" are
+    Bit::Vector versions.
 
-    Filling bits at a given position :
+    This is for perl 5.8.8 on a Core 2 Duo 2.66GHz machine (unit is 64
+    bits).
+            Filling bits at a given position :
                           Rate vfill_pp vfill_bv    vfill
             vfill_pp    80.3/s       --    -100%    -100%
             vfill_bv 1053399/s 1312401%       --     -11%
             vfill    1180792/s 1471129%      12%       --
 
-    Copying bits from a bit vector to a different one :
+            Copying bits from a bit vector to a different one :
                          Rate vcopy_pp vcopy_bv    vcopy
             vcopy_pp    112/s       --    -100%    -100%
             vcopy_bv  62599/s   55622%       --     -89%
             vcopy    558491/s  497036%     792%       --
 
-    Moving bits in the same bit vector from a given position to a different
-    one :
+            Moving bits in the same bit vector from a given position to a different one :
                          Rate vmove_pp vmove_bv    vmove
             vmove_pp   64.8/s       --    -100%    -100%
             vmove_bv  64742/s   99751%       --     -88%
             vmove    547980/s  845043%     746%       --
 
-    Testing bit equality from different positions of different bit vectors :
+            Testing bit equality from different positions of different bit vectors :
                        Rate  veq_pp  veq_bv     veq
             veq_pp   92.7/s      --   -100%   -100%
             veq_bv  32777/s  35241%      --    -94%
             veq    505828/s 545300%   1443%      --
 
+    This is for perl 5.10.0 on a Pentium 4 3.0GHz (unit is 32 bits).
+                         Rate vfill_pp vfill_bv    vfill
+            vfill_pp    185/s       --    -100%    -100%
+            vfill_bv 407979/s  220068%       --     -16%
+            vfill    486022/s  262184%      19%       --
+
+                         Rate vcopy_pp vcopy_bv    vcopy
+            vcopy_pp   61.5/s       --    -100%    -100%
+            vcopy_bv  32548/s   52853%       --     -83%
+            vcopy    187360/s  304724%     476%       --
+
+                         Rate vmove_pp vmove_bv    vmove
+            vmove_pp   63.1/s       --    -100%    -100%
+            vmove_bv  32829/s   51933%       --     -83%
+            vmove    188572/s  298787%     474%       --
+
+                       Rate  veq_pp  veq_bv     veq
+            veq_pp   34.2/s      --   -100%   -100%
+            veq_bv  17518/s  51190%      --    -91%
+            veq    192181/s 562591%    997%      --
+
+    This is for perl 5.10.0 on an UltraSPARC-IIi (unit is 8 bits).
+                        Rate vfill_pp    vfill vfill_bv
+            vfill_pp  4.23/s       --    -100%    -100%
+            vfill    30039/s  709283%       --     -17%
+            vfill_bv 36022/s  850568%      20%       --
+
+                        Rate vcopy_pp vcopy_bv    vcopy
+            vcopy_pp  2.74/s       --    -100%    -100%
+            vcopy_bv  8146/s  297694%       --     -60%
+            vcopy    20266/s  740740%     149%       --
+
+                        Rate vmove_pp vmove_bv    vmove
+            vmove_pp  2.66/s       --    -100%    -100%
+            vmove_bv  8274/s  311196%       --     -59%
+            vmove    20287/s  763190%     145%       --
+
+                      Rate  veq_pp  veq_bv     veq
+            veq_pp  7.33/s      --   -100%   -100%
+            veq_bv  2499/s  33978%      --    -87%
+            veq    19675/s 268193%    687%      --
+
 CAVEATS
     Please report architectures where we can't use the alignment as the move
     unit. I'll add exceptions for them.
index 5d88b5ce07b5ace64ee37e116752f6b45e822bfc..4f69d8fd1d930c524362dbb8c2c51ad613be4632 100644 (file)
@@ -11,13 +11,13 @@ Scalar::Vec::Util - Utility routines for vec strings.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.04
 
 =cut
 
 our $VERSION;
 BEGIN {
- $VERSION = '0.03';
+ $VERSION = '0.04';
  eval {
   require XSLoader;
   XSLoader::load(__PACKAGE__, $VERSION);
@@ -135,38 +135,80 @@ $EXPORT_TAGS{'all'} = [ @EXPORT_OK ];
 
 =head1 BENCHMARKS
 
-The following timings were obtained by running the C<samples/bench.pl> script with perl 5.8.8 on a Core 2 Duo 2.66GHz machine. The C<_pp> entries are the pure Perl versions, while C<_bv> are L<Bit::Vector> versions.
+The following timings were obtained by running the C<samples/bench.pl> script. The C<_pp> entries are the pure Perl versions, while C<_bv> are L<Bit::Vector> versions.
 
 =over 4
 
-=item Filling bits at a given position :
+=item This is for perl 5.8.8 on a Core 2 Duo 2.66GHz machine (unit is 64 bits).
 
+    Filling bits at a given position :
                   Rate vfill_pp vfill_bv    vfill
     vfill_pp    80.3/s       --    -100%    -100%
     vfill_bv 1053399/s 1312401%       --     -11%
     vfill    1180792/s 1471129%      12%       --
 
-=item Copying bits from a bit vector to a different one :
-
+    Copying bits from a bit vector to a different one :
                  Rate vcopy_pp vcopy_bv    vcopy
     vcopy_pp    112/s       --    -100%    -100%
     vcopy_bv  62599/s   55622%       --     -89%
     vcopy    558491/s  497036%     792%       --
 
-=item Moving bits in the same bit vector from a given position to a different one :
-
+    Moving bits in the same bit vector from a given position to a different one :
                  Rate vmove_pp vmove_bv    vmove
     vmove_pp   64.8/s       --    -100%    -100%
     vmove_bv  64742/s   99751%       --     -88%
     vmove    547980/s  845043%     746%       --
 
-=item Testing bit equality from different positions of different bit vectors :
-
+    Testing bit equality from different positions of different bit vectors :
                Rate  veq_pp  veq_bv     veq
     veq_pp   92.7/s      --   -100%   -100%
     veq_bv  32777/s  35241%      --    -94%
     veq    505828/s 545300%   1443%      --
 
+=item This is for perl 5.10.0 on a Pentium 4 3.0GHz (unit is 32 bits).
+
+                 Rate vfill_pp vfill_bv    vfill
+    vfill_pp    185/s       --    -100%    -100%
+    vfill_bv 407979/s  220068%       --     -16%
+    vfill    486022/s  262184%      19%       --
+
+                 Rate vcopy_pp vcopy_bv    vcopy
+    vcopy_pp   61.5/s       --    -100%    -100%
+    vcopy_bv  32548/s   52853%       --     -83%
+    vcopy    187360/s  304724%     476%       --
+
+                 Rate vmove_pp vmove_bv    vmove
+    vmove_pp   63.1/s       --    -100%    -100%
+    vmove_bv  32829/s   51933%       --     -83%
+    vmove    188572/s  298787%     474%       --
+
+               Rate  veq_pp  veq_bv     veq
+    veq_pp   34.2/s      --   -100%   -100%
+    veq_bv  17518/s  51190%      --    -91%
+    veq    192181/s 562591%    997%      --
+
+=item This is for perl 5.10.0 on an UltraSPARC-IIi (unit is 8 bits).
+
+                Rate vfill_pp    vfill vfill_bv
+    vfill_pp  4.23/s       --    -100%    -100%
+    vfill    30039/s  709283%       --     -17%
+    vfill_bv 36022/s  850568%      20%       --
+
+                Rate vcopy_pp vcopy_bv    vcopy
+    vcopy_pp  2.74/s       --    -100%    -100%
+    vcopy_bv  8146/s  297694%       --     -60%
+    vcopy    20266/s  740740%     149%       --
+
+                Rate vmove_pp vmove_bv    vmove
+    vmove_pp  2.66/s       --    -100%    -100%
+    vmove_bv  8274/s  311196%       --     -59%
+    vmove    20287/s  763190%     145%       --
+
+              Rate  veq_pp  veq_bv     veq
+    veq_pp  7.33/s      --   -100%   -100%
+    veq_bv  2499/s  33978%      --    -87%
+    veq    19675/s 268193%    687%      --
+
 =back
 
 =head1 CAVEATS
index 92ee0c865a27691ea90b9aee4d80ba9cf0c20d64..c4df852a313e560d01f021fe70bd7c8d68704c69 100644 (file)
--- a/t/02-pp.t
+++ b/t/02-pp.t
@@ -3,9 +3,16 @@
 use strict;
 use warnings;
 
+use Config qw/%Config/;
+
 use Test::More tests => 4;
 
-BEGIN { @INC = grep !/arch$/, @INC }
+BEGIN {
+ my $re = join '|',
+           grep defined && length,
+            @Config{qw/myarchname archname/}, 'arch';
+ @INC = grep !/(?:$re)$/, @INC
+}
 use Scalar::Vec::Util qw/vfill vcopy veq SVU_PP/;
 
 is(SVU_PP, 1, 'using pure perl subroutines');