r51908 - in /trunk/libscalar-defer-perl: Changes META.yml Makefile.PL SIGNATURE debian/changelog inc/PerlIO.pm inc/parent.pm lib/Scalar/Defer.pm

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Sun Jan 31 01:48:24 UTC 2010


Author: jawnsy-guest
Date: Sun Jan 31 01:48:16 2010
New Revision: 51908

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=51908
Log:
Talks about performance issues under perl 5.8.9
IGNORE-VERSION: 0.22-1

Modified:
    trunk/libscalar-defer-perl/Changes
    trunk/libscalar-defer-perl/META.yml
    trunk/libscalar-defer-perl/Makefile.PL
    trunk/libscalar-defer-perl/SIGNATURE
    trunk/libscalar-defer-perl/debian/changelog
    trunk/libscalar-defer-perl/inc/PerlIO.pm
    trunk/libscalar-defer-perl/inc/parent.pm
    trunk/libscalar-defer-perl/lib/Scalar/Defer.pm

Modified: trunk/libscalar-defer-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/Changes?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/Changes (original)
+++ trunk/libscalar-defer-perl/Changes Sun Jan 31 01:48:16 2010
@@ -1,3 +1,7 @@
+[Changes for 0.22 - 2010-01-29]
+
+* No code changes; note performance problems under 5.8.9
+
 [Changes for 0.21 - 2010-01-18]
 
 * Upgrade to a newer Module::Install

Modified: trunk/libscalar-defer-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/META.yml?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/META.yml (original)
+++ trunk/libscalar-defer-perl/META.yml Sun Jan 31 01:48:16 2010
@@ -20,7 +20,7 @@
 provides:
   Scalar::Defer:
     file: lib/Scalar/Defer.pm
-    version: 0.21
+    version: 0.22
   Scalar::Defer::Deferred:
     file: lib/Scalar/Defer.pm
 requires:
@@ -29,4 +29,4 @@
   perl: 5.6.0
 resources:
   license: http://opensource.org/licenses/mit-license.php
-version: 0.21
+version: 0.22

Modified: trunk/libscalar-defer-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/Makefile.PL?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/Makefile.PL (original)
+++ trunk/libscalar-defer-perl/Makefile.PL Sun Jan 31 01:48:16 2010
@@ -13,5 +13,14 @@
 auto_install;
 auto_provides;
 
-sign; 
+sign;
 WriteAll;
+
+warn "\n\n\n".<<EOT."\n" if $] == 5.008009;
+************************************************************
+WARNING: Performance under perl 5.8.9 can be extremely poor,
+due to bad interactions between overload and bless.  You may
+wish to consider upgrading to a more recent version of perl
+if the performance of Scalar::Defer is important.
+************************************************************
+EOT

Modified: trunk/libscalar-defer-perl/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/SIGNATURE?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/SIGNATURE (original)
+++ trunk/libscalar-defer-perl/SIGNATURE Sun Jan 31 01:48:16 2010
@@ -14,10 +14,10 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 4fa271361eea4f32eb5c16cf3ace7236cecfa624 Changes
+SHA1 fd933d44c93142d78652b1246d6d4ba145e5ff34 Changes
 SHA1 c8f8d36e7d20dcbe00698733f42c3fa57f1ad831 MANIFEST
-SHA1 52ef325f18fe59fa1f52e3525f4104e3ab4abf48 META.yml
-SHA1 eef5a6f2e6bc9efe02c137b050c64ba1bd438eab Makefile.PL
+SHA1 6010157e16e93e5c024f8deb7ae81836e37c3d36 META.yml
+SHA1 d952b8c5b7a0ae7906acda3c15215f00c1f72ac5 Makefile.PL
 SHA1 91735f73073ea3d7b2d64047e45d25355f516752 README
 SHA1 e5fb92ac217988bfc7a6af739b0459627020a27e inc/Module/AutoInstall.pm
 SHA1 fd5f3c4f0418efee3b9b16cf8c3902e8374909df inc/Module/Install.pm
@@ -30,21 +30,21 @@
 SHA1 12bf1867955480d47d5171a9e9c6a96fabe0b58f inc/Module/Install/Metadata.pm
 SHA1 f7ee667e878bd2faf22ee9358a7b5a2cc8e91ba4 inc/Module/Install/Win32.pm
 SHA1 8ed29d6cf217e0977469575d788599cbfb53a5ca inc/Module/Install/WriteAll.pm
-SHA1 fb1a897882981885fb57a77fba9bdc588053fc2a inc/PerlIO.pm
+SHA1 8b1cc43f1fc02b371cf5232e7071d3c2697f9f78 inc/PerlIO.pm
 SHA1 f7582b52d18e4b1b1bf24b3b7a29ccbf9a8ef00c inc/Test/Builder.pm
 SHA1 afc89bc18836c24cac226e5307a0130952832992 inc/Test/Builder/IO/Scalar.pm
 SHA1 4694604f76a8ed3e7bd049b2339d3a85c0d39de4 inc/Test/Builder/Module.pm
 SHA1 108e94af93b785625dde019b4191774f33ceea13 inc/Test/More.pm
 SHA1 55be398173a2d979a648a73a28c8b3a40531dbba inc/ok.pm
-SHA1 b526160f58a03562738f361878a6e65e3d79796a inc/parent.pm
-SHA1 5fc09e95a7d44f540570a91c72e0020acbc34a1c lib/Scalar/Defer.pm
+SHA1 332cadac06258e648a7407ee65833f367761de09 inc/parent.pm
+SHA1 354898db0d6bc7c73d1e84e24fce0b94bc53eb82 lib/Scalar/Defer.pm
 SHA1 f89e83f7a812e3b8c6afe96bb087d0b8218cbd04 t/01-basic.t
 SHA1 2be303573646cd1aee91665c353bce5cb0efd349 t/02-is.t
 SHA1 c3ea4c2671256fad58804f6a00d8d48f6afc2349 t/03-autoload.t
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
+Version: GnuPG v2.0.14 (GNU/Linux)
 
-iEYEARECAAYFAktUvIsACgkQEi9d9xCOQEbGYQCfcmsDg6G1K1SAo2wM62VKMBpu
-628An0Muq661Ic+ZhEFUDHMbHaFPoww2
-=1LQw
+iEYEARECAAYFAktjt8UACgkQMflWJZZAbqBoWwCglS7ov+kdfDP8YSN3W1YB9wg+
+WJUAoJza9HwQuOZsvHipuNHgBwzOslZU
+=8sOI
 -----END PGP SIGNATURE-----

Modified: trunk/libscalar-defer-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/debian/changelog?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/debian/changelog (original)
+++ trunk/libscalar-defer-perl/debian/changelog Sun Jan 31 01:48:16 2010
@@ -1,7 +1,7 @@
-libscalar-defer-perl (0.21-1) UNRELEASED; urgency=low
+libscalar-defer-perl (0.22-1) UNRELEASED; urgency=low
 
-  Only updates Module::Install version
-  IGNORE-VERSION: 0.21-1
+  Talks about performance issues under perl 5.8.9
+  IGNORE-VERSION: 0.22-1
 
   [ Jonathan Yu ]
   * New upstream release
@@ -9,7 +9,7 @@
   [ Nathan Handler ]
   * debian/watch: Update to ignore development releases.
 
- -- Jonathan Yu <jawnsy at cpan.org>  Tue, 19 Jan 2010 15:37:32 -0500
+ -- Jonathan Yu <jawnsy at cpan.org>  Sat, 30 Jan 2010 12:54:30 -0500
 
 libscalar-defer-perl (0.20-1) unstable; urgency=low
 

Modified: trunk/libscalar-defer-perl/inc/PerlIO.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/inc/PerlIO.pm?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/inc/PerlIO.pm (original)
+++ trunk/libscalar-defer-perl/inc/PerlIO.pm Sun Jan 31 01:48:16 2010
@@ -30,4 +30,4 @@
 1;
 __END__
 
-#line 344
+#line 340

Modified: trunk/libscalar-defer-perl/inc/parent.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/inc/parent.pm?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/inc/parent.pm (original)
+++ trunk/libscalar-defer-perl/inc/parent.pm Sun Jan 31 01:48:16 2010
@@ -2,7 +2,7 @@
 package parent;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.223';
+$VERSION = '0.219';
 
 sub import {
     my $class = shift;
@@ -34,4 +34,4 @@
 
 __END__
 
-#line 136
+#line 144

Modified: trunk/libscalar-defer-perl/lib/Scalar/Defer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscalar-defer-perl/lib/Scalar/Defer.pm?rev=51908&op=diff
==============================================================================
--- trunk/libscalar-defer-perl/lib/Scalar/Defer.pm (original)
+++ trunk/libscalar-defer-perl/lib/Scalar/Defer.pm Sun Jan 31 01:48:16 2010
@@ -5,7 +5,7 @@
 use warnings;
 
 BEGIN {
-    our $VERSION   = '0.21';
+    our $VERSION   = '0.22';
     our @EXPORT    = qw( lazy defer force );
     our @EXPORT_OK = qw( is_deferred );
 }
@@ -206,6 +206,15 @@
 Bad things may happen if this module interacts with any other code which
 fiddles with package C<0>.
 
+Performance of creating new deferred or lazy values can be quite poor
+under perl 5.8.9.  This is due a bugfix since 5.8.8, where re-blessing
+an overloaded object caused bad interactions with other references to
+the same value.  5.8.9's solution involves walking the arenas to find
+all other references to the same object, which can cause C<bless> (and
+thus L<Scalar::Defer/defer> to be up to three orders of magnitude
+slower than usual.  perl 5.10.0 and higher do not suffer from this
+problem.
+
 =head1 SEE ALSO
 
 L<Data::Thunk>, which implements C<lazy> values that can replace itself




More information about the Pkg-perl-cvs-commits mailing list