On Wed, 25 Jan 2012, Tim Bunce wrote:
> On Wed, Jan 25, 2012 at 04:14:07PM +0000, Dave Mitchell wrote:
> 
> > PS - I'm specifically being paid only to fix a performance issue on
> > non-threaded builds, so I won't be looking at threaded issues. But
> > dPERINTERP looks like bad news on threaded builds.
> 
> The dPERINTERP stuff was added by ActiveState years ago to support
> MULTIPLICITY. I don't remember the details now. I do recall that driver
> authors are encouraged to avoid using the DBIS macro due to the cost.
> There's rarely a need now as DBI handles carry a pointer to the
> dbi_state structure. The DBI::DBD docs say

Sorry, only skimming the conversation, so maybe this is obvious to
you: PERINTERP was a prototype from the 5.005 days for the MY_CXT
stuff that is now in the code. If you look at 5.8.1, then you'll see
MY_CXT being almost identical to PERINTERP in DBI. But switching to
MY_CXT should give you performance benefits on later Perl versions,
which have an improved MY_CXT implementation.

Cheers,
-Jan


Reply via email to