On 26/6/09 9:03 PM, Andrei Ionescu wrote:
Would project Poleposition:
http://sourceforge.net/projects/polepos
make sense for Cayenne (ORMs) to compare it's speed with other ORMs
(mainly Hibernate) ?

This is my personal opinion and not an official Cayenne stance: I don't see the 
value in this. From this text on their web site:

  "The use of O-R mapping technology like Hibernate or JDO O-R mappers has a strong 
negative impact on performance."

Well, that is just not true. Perhaps if all you ever wanted to do is perform 
one SELECT query and output the result as text, then sure, you could use the 
database directly. But an ORM gives you Java objects as output which can be 
cached, managed in a three tier environment. Cayenne gives you prefetching and 
pagination. These things can result in applications which run several orders of 
magnitude faster than the same application which goes back to the database for 
every single piece of data it displays.

So unless Poleposition takes into account these scenarios, it is fairly 
worthless as a comparison. From what I can see it mostly measures the speed of 
reading and writing thousands of objects in sequence. I'll guarantee that will 
be faster in raw SQL than through an ORM of any sort and Cayenne will just look 
bad to people who don't understand the difference. But so what? Even comparing 
ORMs on this basis is fairly pointless since not many people use their ORM to 
regularly write 100,000 records in a batch process into a database.

How long does it take to create a new context? How expensive is it to move 
objects from one context to another? How much memory does a 1,000,000 object 
paginated (hollow) list take? How easy is the API to use? These are the 
important questions.


Just my thoughts. But thanks for pointing it out. We are very interested in any 
reviews or opportunities you might come across discussing Cayenne or other ORMs.

Regards

Ari Maniatis

Reply via email to