[Dbix-class] perl 5.10.0 and Class::Accessor::Grouped

Christopher Laco claco at chrislaco.com
Sun Dec 23 17:04:15 GMT 2007


demerphq wrote:
> On 23/12/2007, demerphq <demerphq at gmail.com> wrote:
>> On 23/12/2007, Oleg Pronin <syber.rus at gmail.com> wrote:
>>> Damn.
>>>
>>> The simpliest test:
>>>
>>> use Benchmark qw/timethis/;
>>>
>>> timethis(-1, sub {test(1,2,3,4,5,6,7,8,9)});
>>> timethis(-1, sub {my @b =3D ('what', 'the', 'fk', 'is', 'goin', 'on', '=
?')});
>>>
>>> sub test {
>>>     my @a =3D @_;
>>> }
>>>
>>> And the not so simple results:
>>>
>>> 5.8.8:
>>> timethis for 1:  2 wallclock secs ( 1.10 usr +  0.00 sys =3D  1.10 CPU)=
 @
>>> 499746.50/s (n=3D550502)
>>> timethis for 1:  1 wallclock secs ( 1.05 usr + -0.01 sys =3D  1.05 CPU)=
 @
>>> 365810.63/s (n=3D382958)
>>>
>>> 5.10.0:
>>> timethis for 1:  1 wallclock secs ( 1.04 usr +  0.00 sys =3D  1.04 CPU)=
 @
>>> 385313.68/s (n=3D400365)
>>> timethis for 1:  1 wallclock secs ( 1.03 usr +  0.00 sys =3D  1.03 CPU)=
 @
>>> 305039.52/s (n=3D314572)
>>>
>>> Looks like some perfomance bug in list assignment especially for the '@=
_'
>>> special array.
>>>
>>> Damn it's just a function call (not method) and shifting the params. An=
d it
>>> is so extremely slow.
>>>
>>> But this doesn't explain 2 times perfomance penalty in 'lite version' of
>>> set_inherited. There must be something else.
>> Please bring this up with the core perl development team, dont just
>> work on it on this list. Yes cross posting is annoying, but youll get
>> much further much quicker with this problem by including the p5p team,
>> if anybody complains about cross posting just blame me.
> =

> Ive forwarded one mail from this thread to the p5p list.
> =

> Yves


There's also a thread on PM:

http://perlmonks.com/?node_id=3D658723

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20071223/f7=
45c0f8/signature.pgp


More information about the DBIx-Class mailing list