Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. Summary: perl-5.8.8-5 is 30X slower than perl-5.8.8-4 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=196836 ------- Additional Comments From jvdias@xxxxxxxxxx 2006-07-14 18:39 EST ------- Created an attachment (id=132469) --> (https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=132469&action=view) Results of perlbench-0.93 when run for perl-5.8.8-5 and perl-5.8.8-4 on a dual processor i386 FC-5 machine The attached perlbench log shows that the performance of perl-5.8.8-4 compared to perl-5.8.8-5 is virtually identical for common perl operations . Perlbench is a standard benchmark test for perl. Yes, I have duplicated the severe performance loss when running the WebGUI t/i18n/label.t test. Reblessing overloaded objects now incurs a performance penalty in 5.8.8-5+ : this is due to the fix for perlbug #34925 'overload and rebless': http://rt.perl.org/rt3/Ticket/Display.html?id=34925 The fix for this bug (change 27512) involves a 'brute force approach' to detect overloaded objects that are then reblessed; the performance penalty is proportional to the number of active scalars in the perl program. Testing 5.8.8-5 compiled without the 'perl-5.8.8-U27512.patch' applied shows no performance loss when running the WebGUI t/i118n/label.t test over 5.8.8-4 - the 27512 patch is definitely the cause. Perlbug 34925 severely affects the CPAN DBI::Class module. As reblessing an overloaded object is quite rare, the brute force approach was deemed acceptable by the upstream perl maintainers, who have applied this overload and rebless detection mechanism to the current maintenance release of perl. In the upstream 'blead' perl 5.9.4, a fix with no adverse performance impact was applied (change # 27506), but this introduces binary incompatibilities which impact mod_perl; one cannot apply this fix to the 5.8.x releases without introducing major binary incompatibilities, and I've not been able to see an alternative fix (in 5.8.8, every SV_f* flag bit is already used - in 5.9.4, they've changed the meaning of the flag bits and reserved one to flag the case of overload and rebless). So, I think we'll have to accept the performance tradeoff for correct operation in the presence of overload and rebless, until perl-5.9.x is released as the stable version of perl-5. -- Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.