Developer

Koo performance improvements

2 min read

Quick summary

Koo has gained performance through deferred loading of images, relational fields and view settings, along with fewer unnecessary server calls and faster navigation back to list views. On one very large product form, loading time fell from 10 seconds to 2, although the improvement depends on the data. The article invites the community to test the latest changes and report how they behave.

Contents

The last couple of days Koo has seen a significant performance boost. Changes are so important that we may make a new release with no other fixes or features. Here's what we've changed:

  • Delayed data loading of images, one2many and many2many fields. All these fields will only be loaded when they're shown. This means that if they're not in the first tab, they won't be loaded, drastically increasing form load time in some views.
  • Delayed loading of view description and settings for one2many and many2many fields. These are loaded when they're shown for the first time, avoiding loading if the user never clicks in their tab.
  • Koo was doing some unnecessary calls to the server, it has now been carefully reviewed and fixed.
  • When switching from list to form, and then back to the list, Koo would load the fields of the form for all records preloaded in the list. This is no longer true and switching back to the list is immediate.
  • Fixed an issue which in some cases may not load all fields of a form if user: switched from list to form, went back to the list, returned to the form and then moved to next or previous records (at least reproducible in customer invoices).

With these changes we've been able to decrease load time of a very large product form view of one of our customers from 10 seconds down to 2. But the performance gain could be even greater depending on the data.

These changes are very recent and we'd like to release soon, but the more people try it the sooner we'll be able to make a new stable release, so you're encouraged to pickup latest changes from bazaar and give us feedback. Even if it just works for you, leave a comment in this blog, it'll be important to know that people are trying it and it's behaving as expected.

Thanks for your help!

Frequently asked questions

Which changes improve Koo’s performance?

Koo now loads images, one2many and many2many fields, and their view descriptions and settings only when needed. Unnecessary server calls were also removed, and returning to a list no longer reloads form fields for every preloaded record.

When are images and one2many and many2many fields loaded?

They are loaded only when they are displayed. If they are not on the first tab, Koo does not load them initially, which can reduce the time needed to open some forms.

What issue was fixed when moving between list and form views?

A case was fixed in which, after moving from a list to a form, returning to the list, reopening the form and moving to the next or previous record, not all fields were always loaded.

What loading-time improvement was observed?

On one very large product form used by a customer, loading time dropped from 10 seconds to 2. The article notes that the gain may vary depending on the data.

How can users help validate these Koo changes?

The article asks users to try the latest Bazaar changes and send feedback—even if everything simply works—to help prepare a new stable release sooner.