Re: [OJB-developers] ODMG Performance vs Broker Performance
Brought to you by:
thma
From: Schier, D. <dar...@in...> - 2002-05-22 07:53:44
|
1) Oracle class cast exception I gave Oracle a try with the unit tests. Unfortunately the driver throws a ClassCastException while trying to insert an article.price. It is declared as a double within the java source, but it is a FLOAT within the repository.xml, so the driver gets the wrong sqltype. Would anybody bother if I changed it into DOUBLE in the xml? 2) Performance That's some kind of cute: Some profiling gave me the information that there are almost no real hotspots within ojb, Top100 came out of the hsqldb-driver, where a lot of string manipulation (equals, buffer expand, ...) is done. Unfortunately they hide the performance I am looking for. So I thought let's get a 'real professional and fast' driver with=20 a 'real professional and fast' database to put ojb more into the spotlight. See attached how Oracle 8.1.7 is performing on a P4/1.7/640MB compared to hsqldb (still the ordinary broker test). I would propose we should offer Oracle support only, as ojb does=20 not seem to produce any remarkable overhead here :o) I doubt, the profiler would tell me anything about ojb ... ORACLE: [ojb] [performance] INFO: inserting 10000 Objects: 16375 msec [ojb] [performance] INFO: updating 10000 Objects: 15719 msec [ojb] [performance] INFO: querying 10000 Objects: 18500 msec [ojb] [performance] INFO: querying 10000 Objects: 125 msec [ojb] [performance] INFO: fetching 10000 Objects: 1813 msec [ojb] [performance] INFO: deleting 10000 Objects: 13593 msec [ojb] [performance] INFO: [ojb] [performance] INFO: inserting 10000 Objects: 15125 msec [ojb] [performance] INFO: updating 10000 Objects: 15719 msec [ojb] [performance] INFO: querying 10000 Objects: 17625 msec [ojb] [performance] INFO: querying 10000 Objects: 94 msec [ojb] [performance] INFO: fetching 10000 Objects: 1781 msec [ojb] [performance] INFO: deleting 10000 Objects: 13360 msec [ojb] [performance] INFO: [ojb] [performance] INFO: inserting 10000 Objects: 15140 msec [ojb] [performance] INFO: updating 10000 Objects: 15563 msec [ojb] [performance] INFO: querying 10000 Objects: 17578 msec [ojb] [performance] INFO: querying 10000 Objects: 109 msec [ojb] [performance] INFO: fetching 10000 Objects: 1750 msec [ojb] [performance] INFO: deleting 10000 Objects: 13141 msec [ojb] [ojb] Time: 193,61 [ojb] [ojb] OK (1 tests) [ojb] [jdbc] [BOOT] INFO: OJB.properties: file:/J:/ojb-0.8.400/target/ [jdbc] .[BOOT] INFO: loading XML took 406 msecs [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 11672 msec [jdbc] [performance] INFO: updating 10000 Objects: 11735 msec [jdbc] [performance] INFO: querying 10000 Objects: 15375 msec [jdbc] [performance] INFO: querying 10000 Objects: 15296 msec [jdbc] [performance] INFO: fetching 10000 Objects: 1047 msec [jdbc] [performance] INFO: deleting 10000 Objects: 10063 msec [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 11515 msec [jdbc] [performance] INFO: updating 10000 Objects: 11625 msec [jdbc] [performance] INFO: querying 10000 Objects: 14938 msec [jdbc] [performance] INFO: querying 10000 Objects: 15140 msec [jdbc] [performance] INFO: fetching 10000 Objects: 1031 msec [jdbc] [performance] INFO: deleting 10000 Objects: 10234 msec [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 11281 msec [jdbc] [performance] INFO: updating 10000 Objects: 11984 msec [jdbc] [performance] INFO: querying 10000 Objects: 15422 msec [jdbc] [performance] INFO: querying 10000 Objects: 15250 msec [jdbc] [performance] INFO: fetching 10000 Objects: 1031 msec [jdbc] [performance] INFO: deleting 10000 Objects: 10125 msec [jdbc] [jdbc] Time: 198,313 HSQLDB: [ojb] [performance] INFO: inserting 10000 Objects: 6860 msec [ojb] [performance] INFO: updating 10000 Objects: 8187 msec [ojb] [performance] INFO: querying 10000 Objects: 2391 msec [ojb] [performance] INFO: querying 10000 Objects: 109 msec [ojb] [performance] INFO: fetching 10000 Objects: 438 msec [ojb] [performance] INFO: deleting 10000 Objects: 3921 msec [ojb] [performance] INFO: [ojb] [performance] INFO: inserting 10000 Objects: 6063 msec [ojb] [performance] INFO: updating 10000 Objects: 9047 msec [ojb] [performance] INFO: querying 10000 Objects: 2609 msec [ojb] [performance] INFO: querying 10000 Objects: 94 msec [ojb] [performance] INFO: fetching 10000 Objects: 656 msec [ojb] [performance] INFO: deleting 10000 Objects: 3704 msec [ojb] [performance] INFO: [ojb] [performance] INFO: inserting 10000 Objects: 7218 msec [ojb] [performance] INFO: updating 10000 Objects: 8719 msec [ojb] [performance] INFO: querying 10000 Objects: 2484 msec [ojb] [performance] INFO: querying 10000 Objects: 79 msec [ojb] [performance] INFO: fetching 10000 Objects: 546 msec [ojb] [performance] INFO: deleting 10000 Objects: 3610 msec [ojb] [ojb] Time: 67,297 [ojb] [ojb] OK (1 tests) [ojb] [jdbc] [BOOT] INFO: OJB.properties: file:/J:/ojb-0.8.400/target [jdbc] .[BOOT] INFO: loading XML took 407 msecs [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 3422 msec [jdbc] [performance] INFO: updating 10000 Objects: 6234 msec [jdbc] [performance] INFO: querying 10000 Objects: 1469 msec [jdbc] [performance] INFO: querying 10000 Objects: 1281 msec [jdbc] [performance] INFO: fetching 10000 Objects: 78 msec [jdbc] [performance] INFO: deleting 10000 Objects: 2140 msec [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 4000 msec [jdbc] [performance] INFO: updating 10000 Objects: 7891 msec [jdbc] [performance] INFO: querying 10000 Objects: 1344 msec [jdbc] [performance] INFO: querying 10000 Objects: 1297 msec [jdbc] [performance] INFO: fetching 10000 Objects: 125 msec [jdbc] [performance] INFO: deleting 10000 Objects: 2031 msec [jdbc] [performance] INFO: [jdbc] [performance] INFO: inserting 10000 Objects: 4469 msec [jdbc] [performance] INFO: updating 10000 Objects: 6593 msec [jdbc] [performance] INFO: querying 10000 Objects: 1532 msec [jdbc] [performance] INFO: querying 10000 Objects: 1438 msec [jdbc] [performance] INFO: fetching 10000 Objects: 172 msec [jdbc] [performance] INFO: deleting 10000 Objects: 1359 msec [jdbc] [jdbc] Time: 59,969 -----Urspr=FCngliche Nachricht----- Von: Matthew Baird [mailto:ma...@so...]=20 Gesendet: Dienstag, 21. Mai 2002 19:21 An: 'Schier, Darius'; 'obj...@li...' Betreff: RE: [OJB-developers] ODMG Performance vs Broker Performance Great to hear! My order of work is: 1. Finish J2EE integration with JCA, with documentation. 2. Finish Cursor Control patch. 3. Fix exception handling 4. Add more test cases for ODMG 5. Drop OJB into a profiler to find out what's taking up time. The ODMG Performance test has been committed to CVS if you want to give i= t a try. It's not part of the performance ANT target yet. Cheers, Matthew -----Original Message----- From: Schier, Darius [mailto:dar...@in...]=20 Sent: Tuesday, May 21, 2002 12:18 AM To: 'Matthew Baird'; 'obj...@li...' Subject: AW: [OJB-developers] ODMG Performance vs Broker Performance Hi Matthew, I recognized one or two hotspots at the descriptor repository. After a fix, we have about 8-10% performance gain with the=20 'ordinary' performance test case. Unfortunately querying was not affected. It would be pretty interesting how this fix will behave with your test case. I am planning to put it in until the end of the week. I think it would be very helpful to get even more (and maybe somehow more realistic) test cases. Regards Darius |