A loop over 100 million rows with multiple object inflation for each row is going to suck a serious amount of CPU time.
[Even more horribly, if you are using some databases - for example DBD::Pg - then you are almost certainly not using a cursor or chunk at a time approach but instead sucking the whole query output into local memory and then (if you are lucky) rolling over it a few objects at a time, or if you are unlucky building all those objects in memory at once!] You may be able to approach the speed of pure DBI if you use DBIx::Class::ResultClass::HashRefInflator >> Also what version of perl and on what platform? > > perl v5.8.8 built for i386-linux-thread-multi on Centos Linux 5.5. I use Centos myself (although I don't have 5.5). The perl is sluggish with object handling on versions up to 5.4, although the show stopper bug has now gone. In general though you don't want to be iterating over that number of rows manually if you can avoid it... Nigel. -- [ Nigel Metheringham nigel.methering...@intechnology.com ] [ - Comments in this message are my own and not ITO opinion/policy - ] _______________________________________________ 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/dbix-class@lists.scsys.co.uk