Campbell's tests in the past have helped focus the development effort into areas that need improvements most. These new tests are no exception.
Following some internal discussion and tests by Karl, I have been concentrating this week on reengineering some of the core classes that are responsible for type conversion and are used in every area of database operation. These conversions take place when the statement is parsed, arithmetic operations performed, rows saved internally in memory or cached tables, ResultSet creation, ResultSet translation to objects with getXXX methods, in short, everywhere. I focused on optimising conversions to (a) use direct conversion between types instead of turning them into Strings and creating new Objects based on the String and (b) reading and writing types in a binary format in ResultSets. The fact that far fewer temporary objects are created will improve speed both at the time of execution AND garbage collection. It would also reduce the load on memory so that larger ResultSet can be created. I have nearly completed the above and will have an internal perview of RC4 available in a couple of hours for anyone who wants to test it. (this is not for general release so please ask for a copy if you can spend some time testing it). The next step is to use the new data structures for persistent storage in *.data files (cached tables). Fred ----- Original Message ----- From: Campbell Boucher-Burnet To: [EMAIL PROTECTED] Sent: Saturday, April 06, 2002 1:42 PM Subject: [Hsqldb-developers] On The Subject Of Prepared And Callable Statements: So once again, the conclusion I keep coming to (a conlusion stated on Road Map in a post of mine showing experimentally that ~ 60% of statement processing time for the standard test script is spent in the parsing phase, with ~20% in actual update, and another ~20% spent in logging) that the single best and most direct way to improve the over-all performance of the hsql database engine for short-running statements is to really focus mostly on speeding up and making the parser more efficient, if possible. Of course, for longer running statements, we will still need to introduce optimization of query execution and possibly multithreaded execution for better throughput under a mix of long and short running transactions...but that is a ways off and requires a complete rearchitecting, whereas there are many things we can do right now to improve parse performance. All comments and suggestions welcome. Cheers, Campbell _______________________________________________ hsqldb-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hsqldb-developers