Commit Graph
3 Commits
Author SHA1 Message Date
Rémy Voet (ryv) 974c4398b4 [REF] *mrp*: batch _bom_find
Some usage of `_bom_find` are performance bottleneck (one request by
product). By example, when the mrp is installed, search products
with fields compute by `_compute_quantities` (e.g. 'Negative forecasted
quantity'). it is due to the override of `_compute_quantities`
in mrp which will make (in the worst case) a `_bom_find` for each
product in the DB.
To avoid this situation the `_bom_find` method become batched
which can handle several products in once. The signature of the method
has changed and uniformize in all module.

Example performance Gain:
------------------------
In a DB with 7000 products (type 'product'), 500 locations, 1800 BoM,
9000 Stock moves, etc. Search in the tree view with filter "Negative
forecasted quantity":
Before: 10879 (nb SQL request) 12.67 +- 0.11 sec (Total RPC Time)
After: 159 (nb SQL request) 1.82 +- 0.03 sec (Total RPC Time)

task-2439019
2021-03-30 09:27:05 +00:00
Rémy Voet (ryv) 5389259579 [IMP] stock,mrp: improve populate
- Add BoM byproduct populate
- small improvement for populate of stock location
2020-12-22 12:42:59 +00:00
Rémy Voet (ryv) ec8815852f [IMP] mrp: add populate
closes odoo/odoo#61377

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2020-11-30 12:50:09 +00:00