Menu

Break me... PLEASE

Ladies, Gentlemen (oh, and not forgetting the usual list of 'suspects' as well:) )
The latest 'release' of VBISAM should be up on SF by the time you read this.
Please download it, compile it, and then TRY to break it.
I managed to make a HUGE performance improvement such that VBISAM now outperforms C-ISAM in every test case I've thrown at it thus far.
(For those few interested people, the changes involved dealt with performing a newton-raphson style bi-section search rather than a straight sequential search to locate a key within an index node. The old code required n/2 comparisons to find a key value in a node containing n keys... The new code requires log2(n) comparisons. Thus, on a node containing 256 keys, this is eliminating 120 key comparisons [128 - 8])
The long weekend (memorial day) here in USA meant that I've not added in EVERYTHING I intended to yet and thus, there's still some outstanding issues to be dealt with.
The most notable being the two-phase commit code for key insertion / deletion. The fact that C-ISAM also has this BUG leads me to believe that the average VBISAM user will not be TOO worried about it.
The test program originally written by Mikhail has helped me tremendously to iron out some rather serious issues in the older releases and Mikhail has graciously allowed me to post my slightly extended version of his test program into the CVS repository. (Thanks Mikhail!)
I've tried to list the major changes I've made in the CHANGELOG file but I'm equally certain that there's many positive changes I've missed out from logging in the file.
For the one or two *REALLY* curious people, I'm in the process of writing some documentation on the internal workings of VBISAM. (The intent being to assist in the understanding of the concepts, internal structures, function usage etc.)
If anyone is interested in such documentation, please contact me and I'll put a little more 'effort' into tidying it up / finishing it.

Posted by Trevor van Bremen 2004-06-03

Log in to post a comment.