Subject Beta testers requested.
Author Jason Wharton
All,

I am in the midst of a new optimization strategy to address one of the
weakest areas of performance with IBO. I have undertaken to significantly
enhance the performance of lookups into the TIB_StringList based
information.

Here is the crux of what I did:

When the string list is being used to store reference infromation
(properties or schema cache, etc.) there is a property called StoresLinks.
This means that the list has a name and value pair where the name could
consist of an alias, table, and column name. I am optimizing how lookups
are performed.

Previous to this enhancement, each time something is looked up in these
lists, I have to parse out the stringlist and derive all of the bits and
pieces. I also have to make multiple passes to make sure I handle the
priority of scoping correctly. It makes the contents have to be sorted,
which imposes some overhead as well.

What I have done is created an object instance for each line in the string
list (when StoresLinks is true) that stores all of the necessary
information, including hash codes, to eliminate all of the parsing overhead.
I use the underlying TStrings.Objects[] capability to store these object
instances and then I expose a new Object property of my internal object so
that the Objects[] property works exactly as expected. In short, it is just
a redirection from the original object storage to my own internal storage.
It's very clean and this part works nicely.

The exciting part is by making use of the hash codes I don't have to have
the strings sorted in any particular order since I can analise everything in
a single pass. This means the stringlists are faster to populate with data
and the referencing of things should be much faster.

All of my regression tests are passing, except one. I should have it fixed
very soon. At that point, I would really appreciate having a list of
individuals willing to get a Beta of the next version of IBO to try it out.
I am also hoping to get some benchmark data to see just how much it speeds
up your application. I am especially interested in how it helps those with
databases that have a large amount of tables and columns. This should
really help these the most. I also wish to have feedback from those who
populate a lot of stringlist properties, such as ColumnAttributes.

Please send me private emails to support@... requesting to be
included in this beta.

If you have my Skype contact information, feel free to Skype me as well.

I have been doing commits to my development repository, so feel free to just
use that as well.

Thanks!

Jason Wharton
www.ibobjects.com