OI10 Alpha Update

didyouknowoiA few people have recently asked me about the release of the OpenInsight 10 beta and I’m afraid to confirm that the beta will be a few more weeks away BUT I have received a brand new internal alpha, which I hope will be published on the WORKS downloads shortly.

I’ve been working hard with the alpha and I have uploaded a fair number of things for the technical team to look at.  I am pleased to say that the vast majority of these have been responded to and a lot are said to have been addressed in this alpha.  I’ll therefore be working through the alpha to confirm these fixes and then it’ll be back into building my clients application again.

So why this posting?

Well this alpha is more than just fixes and interface enhancements.  It’s a heck of a lot more and something that I have found really exciting because it’s a topic that I have been banging on about for ages – PERFORMANCE.

Several of the team have been working on different areas of OpenInsight to gain better performance.  At conference Mike and Bob spoke about better use of caching and optimised tables as part of the conversion process.  However, recent work with clients around the world and also scheduled code reviews have resulted in much, MUCH more than I had expected.

For example, using memory hash tables and single pass logic, Bob has recently managed to rebuild a 9 million row table in about 10 minutes.  Preliminary tests indicate that OpenInsight 10 is now up to 42% faster than OpenInsight 9.4 at these sort of operations following these changes.  Revelation have indicated to me that users with multiple indexes should see an even bigger jump in performance.  For example, a 9 million row table with five indexes will now only take one pass through the file instead of five passes and thereby give a saving of 40,000,000 reads. 4 x 9,000,000 is 38,000,000 😉 

In addition, Revelation have also reviewed and optimised the ! code to not perform spurious IO operations and index transaction node splits per the Sprezz blog entry here http://sprezzblog.blogspot.co.uk/2009_12_01_archive.html. These changes should eliminate quite a bit of overhead in the system and make index updates faster.

Obviously every application will behave differently but with these and other more general performance enhancements, there really should be some good reasons for end users and developer to want to take a long hard look at OpenInsight 10.

I know that a lot of people have been talking about waiting for a point release, but with these performance enhancements, I’d recommend all OpenInsight developers to begin thinking about their move to OpenInsight 10.  This should begin with a review of Carl’s OpenInsight 10 blog in which he has documented a large number of the interface and code enhancements.  WORKS subscribers can also take a look at the Alpha, although I would wait for the next one and, even then, consider this as a look at what is coming and use it to make plans for your future application conversion and how you might be able to use the interface enhancements in your applications.  This will then put you in a great position to dive into the beta when it comes out and make sure that your needs are catered for with regards to your specific application conversion.

For those interested in such things, the tests noted in this article were undertaken on a Surface 4 running the i7 processor.  The latest OpenInsight 10 alpha was installed with the Universal Driver 5.0 and a real world 9 million row table supplied by one of our customers.