[Dbix-class] Why is prefetch so slow?

Jon Schutz jon+dbix at youramigo.com
Thu Oct 18 06:33:24 GMT 2007


On Wed, 2007-10-17 at 16:19 +0100, Nigel Metheringham wrote:
> Jon,
> 
> You should look at RH bug #196836 for information on the Red Hat
> perl bug that causes this.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=196836
> 

Interesting, well found.

As background for those who missed yesterday's IRC discussion, it was
identified that the original slow-down problem was specific to CentOS 5
standard perl-5.8.8-10 RPM (and presumably all other distributions using
the same).

According to the bug report above, the problem should be fixed in RPM
perl-5.8.8-22 and later, so I compiled and installed perl-5.8.8-24 and
re-ran Nigel's benchmark.  The results show that the patched patched
version in 5.8.8-24 is still about 2-4 as slow with/without my patch to
ResultSourceHandle.  This compares against 8-12 times slower with
perl-5.8.8-10.

Summary:
                               effect of ResultSourceHandle patch      
perl-5.8.8-10 RPM                    8-12 times faster
perl-5.8.8-24 RPM                    2-4 times faster
perl-5.8.8 compiled from source      no difference
perl-5.9.5 compiled from source      no difference

Bring on 5.10, I guess.

Using the code put up by Brandon to check for the bug on various
systems, here are the results:

O/S	Perl Version		has_bug	  bad_overload_performance	

Debian    5.6.1 		Y		N
FreeBSD 5.4-9 5.8.8		Y		N
CentOS 4  5.8.8-4 RPM		Y		N
CentOS 5  5.8.8-10 RPM		N		Y
CentOS 5  5.8.8-24 RPM		N		Y
CentOS 5  5.8.8 source		Y		N
CentOS 5  5.9.5 source		N		N

which is consistent with the benchmarks, at least w.r.t. overload
performance.


-- 

Jon




More information about the DBIx-Class mailing list