Today I've seen in IRC logs that there's been some discussion on how Koo loads 
data and wanted to clarify that.

Koo can be configured in two modes using 'ktiny' module.
- Sort Visible Records
- Sort All Records

The first one works just like the GTK or web clients, except that it's missing 
pagination and/or offset and limit. They're missing because the Sort All 
Records mode has worked correctly for us till the moment.

The second one loads records dynamically. That is, in a tree view the scroll 
bar scales to the number of records available in the model and the status bar 
can show you something like 1 out of 2000 records. However, not all records 
have been actually loaded, instead they're loaded on demand on "limit" (which 
defaults to 80, but can be configured in the module) chunks. That means that 
if you scroll, records are loaded at that precise moment, the same happens if 
you move using next/previous buttons in form view, for example. This is 
already in production and has given decent performance for the use cases 
we've found. Even more, using Pyro protocol also improves interface 
responsiveness.

Although, some days ago I commited a performance improvement in this regard. 
I've got a local branch which I expect to be able to commit in the next days 
that will greatly improve the performance of opening a screen with lots of 
records, will drastically decrease memory usage, and improve performance in 
some other use cases. As all changes are only happen on the model [1] code, 
trees also benefit from this. As well as one2many and many2many widgets in 
forms. So if you have a customer with 2000 contacts, only the first 80 will 
be loaded when you open the form, and the rest will be available simply by 
scrolling down.

Hope this clarifies any doubts...

[1] http://albert-nan.blogspot.com/2008/12/model-view.html

-- 
Albert Cervera i Areny
http://www.NaN-tic.com
_______________________________________________
Tinyerp-users mailing list
http://tiny.be/mailman/listinfo/tinyerp-users

Reply via email to