>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
test for both.plx
Description: Binary data
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]