« Long transactions. | Main | Java LGPL clarificat... »

Castor links.

Roller uses the Castor persistence framework. FreeRoller can be very slow.

Are the two things related? I have no real empirical evidence (yet) to prove a link, but I did find an interesting link of a different sort in my referer logs this morning to a blog entry by (Roller user) Matthew Porter. Back in December 2002, Matthew chose Hibernate instead of Castor for the Java Lobby Community Port (JLCP) project. Here's why:
Persistent Framework Choice for JLCP: Castor was not chosen for two primary reasons. The first is the lack of development of Castor in the past year. In addition, one the tests we performed at DMI, Castor was significantly slower than other PFs- to the point where it was intolerable. The first reason and recent tests led me to believe that the situation regarding speed had not changed.
Also, an interesting link was posted in a comment on my Long Transactions post yesterday. This is a pretty interesting article:
O/R Mapping with Castor JDO in the Real World: Castor holds up to its promises in simple testing and trial runs. However, it has proven to fall short in some practical issues with our application of about twenty-five data classes and as many tables. Most of our problems come from the need to hold onto objects across transactions and perform complex updates.
I'm tempted to rewrite the Roller backend using Hibernate just for the hell of it, but I really should to do some profiling of Roller to see where the problem lies, don't you think? I guess I could do a 30-day eval of OptimizeIT or JProbe, but I would be happy to hear your recommendations for free and/or open source profiling tools. Got any?
Comments:

There are a few profilers and other tools reviewed at JavaPerformanceTuning.com: http://www.javaperformancetuning.com/tools/index.shtml

Posted by Lance on February 20, 2003 at 12:57 PM EST #

Sorry, here is a better link http://www.javaperformancetuning.com/resources.shtml#ProfilingToolsFree

Posted by Lance on February 20, 2003 at 12:59 PM EST #

Profile the SQL first. I posted a more complete reply at http://blogs.browsermedia.com/patrick/index.do?date=20030220#103822

Posted by Patrick Peak on February 20, 2003 at 01:40 PM EST #

P6spy (http://www.p6spy.com/) and IronEyeSQl (http://www.irongrid.com/catalog/promotion_p6spy.php?track_id=P6S013103J1) allow you to profile the SQL generated by your app. I read about these tools on Cafe au Lait yesterday and had them set up in < 1 hr. Easy and effective.

Posted by Mark Donahue on February 20, 2003 at 02:22 PM EST #

Hmm.. You have to do the profiling using optimizeIt in 5 days I believe, then the license expires already...

Posted by Martin van den Bemt on February 20, 2003 at 03:06 PM EST #

I don't know if you're using it as an mbean, but apparently setting CommonClassPath to true has a significant positive impact on performance.

Posted by Steve Conover on February 20, 2003 at 03:16 PM EST #

Patrick, I tried to post a comment to your post but it didn't "take" and didn't present any error message. Just FYI.

Posted by Lance on February 20, 2003 at 04:00 PM EST #

OptimizeIt and JProbe are dated. Try jProfiler: http://www.ej-technologies.com/products/jprofiler/overview.html There's a 10 day eval. It can be launched from Eclipse, if that interests you. And it's *way* cheaper than the other two.

Posted by Scott Stirling on February 21, 2003 at 09:11 PM EST #

Post a Comment:
  • HTML Syntax: NOT allowed

« Long transactions. | Main | Java LGPL clarificat... »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Roller, some may be related to this entry.