odoo/o-spreadsheet#8799
Created by fw-bot
Merged
at 6d0d76114d173978b5c1d4809b0a668b5d48f149
Statuses:
- label
- odoo:19.0-17.0-perf-menu-component-adrm-530589-fw
- head
- 5bbda32a0af3f9a74c3497decc7b02cb080bf73e
- merged
- 4 days ago by BI, Adrien Minne (adrm)
| odoo/o-spreadsheet | |
|---|---|
| 17.0 | #8794 |
| 18.0 | #8795 |
| saas-18.2 | #8796 |
| saas-18.3 | #8797 |
| saas-18.4 | #8798 |
| 19.0 | #8799 |
| saas-19.1 | #8802 |
| saas-19.2 | #8803 |
| saas-19.3 | #8805 |
| master | #8807 |
[PERF] menu: avoid quadratic complexity with proxies
In the menu component, we would compute whether to display the icons for each menu item. But to compute that, we need to loop on each menu items, leading to a quadratic complexity.
This could have been good enough as menus aren't too large, but the menu items are proxified by Owl, making the loop very slow.
Task: 6250318
review checklist
- [ ] feature is organized in plugin, or UI components
- [ ] support of duplicate sheet (deep copy)
- [ ] in model/core: ranges are Range object, and can be adapted (adaptRanges)
- [ ] in model/UI: ranges are strings (to show the user)
- [ ] undo-able commands (uses this.history.update)
- [ ] multiuser-able commands (has inverse commands and transformations where needed)
- [ ] new/updated/removed commands are documented
- [ ] exportable in excel
- [ ] translations (_t("qmsdf %s", abc))
- [ ] unit tested
- [ ] clean commented code
- [ ] track breaking changes
- [ ] doc is rebuild (npm run doc)
- [ ] status is correct in Odoo