Taming Vortex
2006-12-17

I was doing some performance optimizations for soapdesigner, and I have found few things. The main message is that whenever possible, run Tornado on included hsqldb database. Really, don't use as system database anything external like mysql. Of course, the exception is when you run Tornado in cluster. In such case you need to run system database on external RDBMS. Anyway, I was measuring performance, and for me HSQLDB runs much faster. I did a simple test for measuring how fast does Vortex code get the snapshot of application's structure from the Tornado system database. So for mysql on my machine it was around 1200 ms, and on embeded hsqldb it was around 200 ms. Pretty big difference, what do you thing?

So you might tell me that my measurement is biased. Maybe true. A little bit. HSQLDB doesn't contain much applications, and my Mysql system database contains a lot. This might slow down hsqldb on the same data, but I think that what makes the difference is that Mysql connects to the external data source via TCP/IP network connection, and doesn't transfer data in memory like HSQLDB does. Also it might be different on other OS/configuration. My system is Apple Powerbook, CPU PowerPC G4 1.5, 2GB RAM, MacOSX 10.4.8, Apple JDK 1.5.

I was also trying to optimize soapdesigner application structure load time, but unsuccessfully. So what is the conclusion from my measuring here? Using DOM for generating xml doesn't affect performance that much in comparison to using just StringBuffer to generate xml. Maybe on bigger data I might be wrong, or even on higher load I might be wrong, but this is what I have seen. But apparently there is smaller memory usage since I don't create objects for every new xml node. Also executing more SQL selects when trying to save some time transferring less data is not always helping. It's the same to make one select for the whole application with the design object's source and data than to select application, and than to select only design object data, and source to get class and package name. Maybe for bigger databases I would see some difference, but not here. Sorry 1MB application is not apparently enough, and I doubt that anybody would make that much bigger application.

So that was the tip from today. Now it is the time for traditional Spanish christmas dinner which shows us our Erasmus coordinator Gustavo Taberner. And we will continue with fiesta somewhere in the center of Madrid. I will tell you what is traditional Spanish Christmas dinner later (Even I don't know what is tradition here). [-;



About me...
Hello, I'm Martin Novák, and I talk here about Puakma Technology, Java, Eclipse, and Mac OS X.

I work on Puakma Vortex at webWise Network Consultants Pty Ltd based in Sydney in Australia, but I live now in Madrid in Spain.

Contact: Martin Novák

I'm talking about

Recommended reads

Calendar
     0102
03040506070809
10111213141516
17181920212223
24252627282930
31

(c) 2006, Martin Novák, contact me at my email