On Sun, Aug 31, 2008 at 01:53:55PM +0100, Karanbir Singh wrote:
There is now a perl package in the c5-testing repo that fix's these issues. Unless I hear reports of breakage in the next 24 hrs, will push that out via the fasttrack repo and make some announcements.
Also, if you do test it - and it does work fine : let us know about that too.
As others have reported, this seems to fix the main speed issues people were complaining about.
But it doesn't seem to have changed the overload referencing semantics that DBIx::Class::StartupCheck tests for - this still fails on the new perl:
perl -MDBIx::Class::StartupCheck -e1
WARNING: DBIx::Class::StartupCheck: This version of Perl is likely to exhibit extremely slow performance for certain critical operations. Please consider recompiling Perl. For more information, see https://bugzilla.redhat.com/show_bug.cgi?id=196836 and/or http://lists.scsys.co.uk/pipermail/dbix-class/2007-October/005119.html. You can suppress this message by setting DBIC_NO_WARN_BAD_PERL=1 in your environment.
You can also test this with this script:
#!/usr/bin/perl -w use strict; package Foo; use overload bool => sub { 0 }; sub quack { print "quacks like a Foo\n" } package main; my %hash; my $o1 = %hash; my $o2 = %hash; bless $o1, 'Foo'; print $o1 ? "o1 true\n" : "o1 false\n"; print $o2 ? "o2 true\n" : "o2 false\n"; $o2->quack();
which reports:
o1 false o2 false quacks like a Foo
on both the old and new CentOS perls, vs.
o1 false o2 true quacks like a Foo
on Ubuntu 5.8.8.
Karanbir, do you know if those fixes you used include the four changesets Nicholas references here?
http://use.perl.org/~nicholas/journal/37274
I'm not sure how much this actually matters in practice, but thought I'd point it out. It's at least confusing if the performance issue is fixed but DBIx::Class still complains.
Cheers, Gavin