[Dbix-class] Why is prefetch so slow?

Matt S Trout dbix-class at trout.me.uk
Fri Oct 19 03:55:48 GMT 2007


On Fri, Oct 19, 2007 at 09:21:08AM +0930, Jon Schutz wrote:
> On Thu, 2007-10-18 at 19:38 +0100, Matt S Trout wrote:
> > On Thu, Oct 18, 2007 at 03:03:24PM +0930, Jon Schutz wrote:
> > > 
> > > 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.
> > 
> > Would you concur that in that case this doesn't justify modifying DBIx::Class'
> > code to compensate?
> 
> Yes.
> 
> > 
> > Do you reckon a warning or just a note in the documentation is in order to
> > warn people using broken RH perls to compile their own for best performance?
> > 
> 
> I would strongly support a warning sent to stderr on startup, which
> could be turned off by setting an environment variable, e.g.
> DBIC_IM_SICK_OF_THAT_WARNING=1.

DBIC_NO_WARN_BAD_PERL seems good, then we can repurpose later if another
vendor decides to take a dump on us.

> To outline the ramifications that this problem had for us would be
> tedious, so let's just say that the several days that I spent isolating
> the issue out of our wider system, plus all the support provided by
> Nigel and others on IRC, is only a fraction of the impact.
> 
> Adding a note to the documentation would of course be sensible, but
> insufficient by itself.

I think it's your honours to put the patch together, if you're willing to.

Make sure to include an appropriate addition to CONTRIBUTORS in
lib/DBIx/Class.pm

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/



More information about the DBIx-Class mailing list