Tryton - Issues

 

Issue8199

Title Speedup display of tree view
Priority feature Status resolved
Superseder Nosy List ced, perilla, pokoli, resteve, reviewbot, roundup-bot, xcodinas
Type performance Components sao
Assigned To ced Keywords review
Reviews 265411002
View: 265411002

Created on 2019-03-15.20:00:04 by ced, last changed by roundup-bot.

Messages
New changeset 6b9fe9763054 by Cédric Krier in branch 'default':
Reduce number of promises when rendering tree
https://hg.tryton.org/tryton-env/rev/6b9fe9763054
New changeset 02a9082b44d1 by Cédric Krier in branch 'default':
Reduce number of promises when rendering tree
https://hg.tryton.org/sao/rev/02a9082b44d1
review265411002 updated at https://codereview.tryton.org/265411002/#ps281501002
review265411002 updated at https://codereview.tryton.org/265411002/#ps249381002
msg49665 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2019-05-07.17:35:24
Here is review265411002 which seems to improve the rendering time.
msg47661 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2019-03-15.20:00:03
Sao is quiet slow when displaying a large list. I track this to the Column.render method. It calls record.load and then make the rendering in the callback. Record.load has a design such that it return a resolved promise if the field is already loaded. The problem is that this creates a lot of promises which is expensive and it take times to resolve and trigger them.
So I think a proper solution would be:

- load all needed fields for all the displayed records at once (or per bunch) but without loading again already loaded records
- test in .render method if the field is loaded instead of always calling .load

For that, I think the .load method should be split to allow to use the RPC read call and result (The split should be done in tryton also for compatibility but not use for the tree because it is not needed).
History
Date User Action Args
2019-06-03 15:45:32roundup-botsetmessages: + msg49951
2019-06-03 15:45:29roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg49950
2019-05-10 19:12:34reviewbotsetmessages: + msg49700
2019-05-07 17:40:56reviewbotsetnosy: + reviewbot
messages: + msg49666
2019-05-07 17:35:24cedsetstatus: unread -> testing
reviews: 265411002
messages: + msg49665
keyword: + review
assignedto: ced
2019-04-13 14:09:35perillasetnosy: + perilla
2019-04-11 09:30:33restevesetnosy: + resteve
2019-03-18 13:23:23xcodinassetnosy: + xcodinas
2019-03-18 10:56:53pokolisetnosy: + pokoli
2019-03-15 20:00:04cedcreate