summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorIvan Yelizariev <iel@odoo.com>2021-03-29 14:56:22 +0000
committerRaphael Collet <rco@odoo.com>2021-03-31 09:48:32 +0000
commitdf53e57c009cb2d35cc48d1335b727f3f5fddc73 (patch)
tree8264a9c137975ce1020ae9a67a9d196e0b73f9f2 /doc
parent4e5a355f7c2978a6f705e6ca36abdfc51636acfc (diff)
[FIX] core,account: avoid useless recomputations in res.config
User may use Settings menu just to click "Manage Users" buttons. Such simple navigation sends ``create`` request, which may trigger a chain of recomputations. To avoid that we redefine ``create`` method to check if a value is really changed. The previous explicit implementation lacks in v14 two fields at least: * from module `account` ``` qr_code = fields.Boolean(string='Display SEPA QR-code', related='company_id.qr_code', readonly=False) ``` * from module `enterprise/account_reports` ``` account_tax_fiscal_country_id = fields.Many2one(string="Fiscal Country", related="company_id.account_tax_fiscal_country_id", readonly=False) ``` Performance Tests ================= In this test we click "Manage users" and check stats for ``res.config.settings/create`` request. Demo database with eCommerce and Accounting app installed: ``` | | Number of queries | Query time, sec | Remaining time, sec | |--------+-------------------+-----------------+---------------------| | Before | 707 | 0.325 | 0.215 | | After | 382 | 0.283 | 0.174 | ``` The same, but with extra 1400 invoices: ``` | | Number of queries | Query time, sec | Remaining time, sec | |--------+-------------------+-----------------+---------------------| | Before | 715 | 0.459 | 0.349 | | After | 382 | 0.176 | 0.107 | ``` --- opw-2489335 closes odoo/odoo#68486 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions