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
------- Additional Comments From jvdias(a)redhat.com 2006-07-14 18:39 EST -------
Created an attachment (id=132469)
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
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':
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
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.