. Blog » Avanti Small Business ERP - Integrated stock control, sales order processing, accounting & CRM

Avanti 5 | Improving Performance On Reports
Wednesday 16th September 2020

As we've highlighted in previous posts, a massive amount of work has gone into improving performance in Avanti 5. This covers all areas and aspects of the software including rearchitecting how the software reads and updates data. In addition nothing in the software has escaped optimisation to how data is retrieved to squeeze every last drop of speed out of data queries. As we like to say "Speed is a feature!"

To really make sure we're achieving our objectives we have focussed on testing the software on 10 year old PCs and old wireless networks to ensure it flies even on really old technology - if it's fast on these types of systems then it's going to be lightning fast on modern and capable PCs and current wired and wireless networks and indeed it is!

Whilst under-the-hood optimisations are critical and make up the bulk of performance improvements, there are also many performance related elements which will be visible to you, the user, to help you make the software more performant. The simple fact is that no matter how fast we optimise, if you're loading thousands and even tens of thousands of records into reports and the software gives you no way to mitigate that, you're going to get a performance hit (or what we call "latency").

So we've changed how the software loads data into reports. First of all, by default, Avanti 5 will not load data into reports immediately. Instead it will wait until you select a criteria for the report. For new Avanti users this will appear absolutely natural but for those who have been with us for any length of time it might appear a little odd to open a report and not see some data on the screen straightaway. The good news is that rather than loading masses of data initially which you may not want, based on an arbitrary criteria, the report screen will load rapidly and you can set your own specific criteria for the data you want loaded into the report. By narrowing down the data you want loaded the software will load your report data rapidly saving you tons of time.

This new way of loading data into reports applies largely to transaction-based reports and there are exceptions where performance is unlikely to be an issue. Importantly you can override this new behaviour, both on a system-wide basis and on a per report basis and even on a per-user basis to give you the options to set the right balance for speed and convenience. So you can, by ticking one checkbox, override this new way of loading data and go back to how it used to work, we wouldn't recommend it and you'd be undoing a lot of our hard work to speed things up but we're putting that decision in your hands.

If some users prefer the new behaviour and some want to keep the old way, each user can define how they want each report to behave.

Another change to improve performance is to give you the choice to only run a report once ALL criteria for the report has been set. For example you have a report where you want to set start and finish dates, rather than it run once when you've entered the start date and then again after you've entered the finish date, effectively running the query to retrieve the data for the report twice with the potential for significant latency, you can now set the software so you can define all your criteria and click a Submit button to retrieve the data once only. Again you can switch this on or off across all reports or on a per user/per report basis so each user can configure it to work best for them.

Latency on reports has been an increasing issue for users who have large datasets and while our internal optimisations go a long way to address this, the ability for you to choose how the software behaves to load data only when it's absolutely required will make all the difference in helping the software to fly for you.