<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>On 3 Jul 2008, at 12:57, Oleg Pronin wrote:</div><div><br class="Apple-interchange-newline"><blockquote type="cite">DBIx::Class::Cursor::Cached is too slow for production use. It caches only data from DB making it impossible so store virtual data in objects and after fetching data from cache it has to construct a row object which is a expensive action for CPU, running all the 'inflate_result', and possibly other hard tasks.<br> <br>When you use DBIC::C::C - it slows down the request by 2 times (based on local CPU usage - not DB).<br><br>With solution i posted, request is 3-4x faster than original for local CPU.<br><br><div class="gmail_quote">2008/7/3 Andreas Pronakis &lt;<a href="mailto:andr3as@yahoo.com">andr3as@yahoo.com</a>>:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I was wondering if anyone has tried using the module DBIx::Class::Cursor::Cached but replacing the cache engine Cache::FileCache with Memcache?<br> <br> I will try it out and let you know the results, but if someone else has already tried it would be nice to know what their findings were<br> <div class="Ih2E3d"><br> Andreas<br> <br> <br> --- On Wed, 6/25/08, Oleg Pronin &lt;<a href="mailto:syber.rus@gmail.com">syber.rus@gmail.com</a>> wrote:<br> <br> > From: Oleg Pronin &lt;<a href="mailto:syber.rus@gmail.com">syber.rus@gmail.com</a>><br> > Subject: Re: [Dbix-class] DBIx::Class and caching<br> > To: <a href="mailto:andr3as@yahoo.com">andr3as@yahoo.com</a>, "DBIx::Class user and developer list" &lt;<a href="mailto:dbix-class@lists.scsys.co.uk">dbix-class@lists.scsys.co.uk</a>><br> </div>> Date: Wednesday, June 25, 2008, 9:23 AM<br> <div><div></div><div class="Wj3C7c">> These approach caches ready objects, not just a data from<br> > database, so it<br> > quite fast, and lets you to cache any data with object,<br> > even not from DB.<br> <br></div></div></blockquote></div></blockquote></div><br><div><div>Please don't spread FUD.</div><div><br></div><div>Yes you can't store virtual data with Cursor::Cached, but then I'd argue that you shouldn't be doing that anyway.</div><div><br></div><div>And no it doesn't have to construct a row object if you don't want to See &lt;<a href="http://search.cpan.org/~ash/DBIx-Class-0.08010/lib/DBIx/Class/ResultClass/HashRefInflator.pm">http://search.cpan.org/~ash/DBIx-Class-0.08010/lib/DBIx/Class/ResultClass/HashRefInflator.pm</a>> . Yes object construction can be expensive, but its what you want most of the time. If you dont want objects don't use an ORM. (The 'O' there stands for Object, dontcha know.)</div><div><br></div><div>Which solution? Link to archives please.</div></div></body></html>