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

demerphq demerphq at gmail.com
Sun Dec 23 12:21:14 GMT 2007


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 = ('what', 'the', 'fk', 'is', 'goin', 'on', '?')});
>
> sub test {
>     my @a = @_;
> }
>
> And the not so simple results:
>
> 5.8.8:
> timethis for 1:  2 wallclock secs ( 1.10 usr +  0.00 sys =  1.10 CPU) @
> 499746.50/s (n=550502)
> timethis for 1:  1 wallclock secs ( 1.05 usr + -0.01 sys =  1.05 CPU) @
> 365810.63/s (n=382958)
>
> 5.10.0:
> timethis for 1:  1 wallclock secs ( 1.04 usr +  0.00 sys =  1.04 CPU) @
> 385313.68/s (n=400365)
> timethis for 1:  1 wallclock secs ( 1.03 usr +  0.00 sys =  1.03 CPU) @
> 305039.52/s (n=314572)
>
> 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. And 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.

Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"



More information about the DBIx-Class mailing list