![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Here at Sprezz Towers excitement is rising about a forthcoming update to S/List that we think our users are going to love. With each release of OI we kept getting reports that S/List was getting slower - and our testing confirmed that this was the case.
So we did what we do best at Sprezz - attacked the problem head on with a radical rewrite of the S/List engine. So for the past year or so we've been working on a new version of SLIST_PRODUCE (the program that does the grunt work for actually creating the report) to eliminate all calls to GET and SET_PRINTER. A few thousand of lines of code later we are finally ready to go public with the results. Now the User Interface remains the same (for now ;)) but the print engine is significantly faster. Those of you with long memories may remember AREV LightSpeed? Well we wouldn't go quite so far as to call it that but we have managed to wring every drop of performance from the product. Your mileage may vary but we reckon that most reports will run several times faster. Take a look at the following figures to see what we mean!
And the end result :- If you'd like to see the new reporting engine in action and you're not on our beta program then contact Martyn at martyn at sprezzatura dot com for a WebEx session demo. If you want we'll sign an NDA then show you it working against your own data. We're sure you'll be impressed. And it goes without saying that if there are aspects of YOUR system that you'd like to see run faster we're always happy to provide consultancy! The Technical Bits For those of you who like to know how we do these things... Firstly there was no magic bullet - as stated earlier this required thousands of lines of code. We started by looking at the subset of OIPI functionality that S/LIST actually uses and we downloaded the VSVIEW manual and obtained a licensed copy for our own use so we could legally use the VSVIEW OLE interface.We then removed all SET_PRINTER and GET_PRINTER calls and replaced them with direct calls to the OLE control. To squeeze out every last drop of performance we didn't create an external callable routine for this. When running a report, GET_ and SET_ printer can be called hundreds of thousands of times and we wanted to eliminate this overhead. Fianlly we removed features that OIPI adds automatically such as CSV production as S/LIST already handles this internally.
Previous Posts
Archives
BlogRoll
Subscribe
Subscribe via RSS
(For those who still appreciate civilised technology.)
Add to your reader
Scan to subscribe
Subscribe to
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||