>It -should- be faster, not slower - it uses (AFAIK) MRO::Compat to handle
the
>search order.
In fact it is slower.

>Are you using it with a DFS or C3 mro? Have you checked the MRO::Compat
speeds?
with or without - results are the same

>A little basic investigation (and posting your benchmark code) would go a
long
>way here.
Test files attached (with dfs and with c3).

Results:

perl 5.10.0 compiled with configure.gnu (FreeBSD6.2, 3Ghz P4 prescott,
DDR333).
[EMAIL PROTECTED] /home/syber =>./perl510/bin/perl test/cst.plx
Benchmark: running getnulla, getnullao, getnullb, getnullbo for at least 1
CPU seconds...
  getnulla:  2 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @ 86992.59/s
(n=91750)
 getnullao:  1 wallclock secs ( 1.04 usr +  0.00 sys =  1.04 CPU) @ 75686.50/s
(n=78643)
  getnullb:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @ 80300.56/s
(n=84692)
 getnullbo:  1 wallclock secs ( 1.04 usr +  0.00 sys =  1.04 CPU) @ 70640.60/s
(n=73400)
Benchmark: running seta, setao, setb, setbo for at least 1 CPU seconds...
      seta:  1 wallclock secs ( 1.03 usr +  0.00 sys =  1.03 CPU) @
177939.39/s (n=183500)
     setao:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @
221411.34/s (n=231790)
      setb:  1 wallclock secs ( 1.06 usr +  0.00 sys =  1.06 CPU) @
174841.41/s (n=185769)
     setbo:  1 wallclock secs ( 0.99 usr +  0.01 sys =  1.00 CPU) @
220200.00/s (n=220200)
Benchmark: running geta, getao, getb, getbo for at least 1 CPU seconds...
      geta:  1 wallclock secs ( 1.02 usr +  0.00 sys =  1.02 CPU) @
153684.03/s (n=157286)
     getao:  0 wallclock secs ( 1.04 usr +  0.00 sys =  1.04 CPU) @
192656.36/s (n=200182)
      getb:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @
150243.34/s (n=157286)
     getbo:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @
191218.63/s (n=200182)

perl 5.8.8 compiled with configure.gnu (the same machine)
[EMAIL PROTECTED] /home/syber =>./operl58/bin/perl test/cst.plx
Benchmark: running getnulla, getnullao, getnullb, getnullbo for at least 1
CPU seconds...
  getnulla:  2 wallclock secs ( 1.09 usr +  0.00 sys =  1.09 CPU) @
101387.05/s (n=110100)
 getnullao:  1 wallclock secs ( 1.10 usr +  0.00 sys =  1.10 CPU) @ 86912.00/s
(n=95739)
  getnullb:  1 wallclock secs ( 1.08 usr +  0.00 sys =  1.08 CPU) @ 92838.03/s
(n=100091)
 getnullbo:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @ 80899.82/s
(n=84692)
Benchmark: running seta, setao, setb, setbo for at least 1 CPU seconds...
      seta:  1 wallclock secs ( 1.09 usr +  0.00 sys =  1.09 CPU) @
268435.20/s (n=293601)
     setao:  1 wallclock secs ( 1.10 usr +  0.00 sys =  1.10 CPU) @
307535.89/s (n=338770)
      setb:  1 wallclock secs ( 1.08 usr +  0.00 sys =  1.08 CPU) @
272325.57/s (n=293601)
     setbo:  1 wallclock secs ( 1.12 usr +  0.00 sys =  1.12 CPU) @
303234.69/s (n=338770)
Benchmark: running geta, getao, getb, getbo for at least 1 CPU seconds...
      geta:  1 wallclock secs ( 1.05 usr +  0.00 sys =  1.05 CPU) @
221411.34/s (n=231790)
     getao:  1 wallclock secs ( 1.10 usr +  0.00 sys =  1.10 CPU) @
249873.25/s (n=275251)
      getb:  1 wallclock secs ( 1.09 usr +  0.00 sys =  1.09 CPU) @
211922.29/s (n=231790)
     getbo:  2 wallclock secs ( 1.04 usr +  0.00 sys =  1.04 CPU) @
249319.94/s (n=259059)

5.10.0 Release became slightly faster than 5.10.0 RC2, but still slower than
5.8.8


>Plus Catalyst doesn't use C::A::G - maybe you wanted the DBIC list?
yes, sorry

Attachment: test for both.plx
Description: Binary data

Attachment: test for 5.10.0 only.plx
Description: Binary data

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to