odoo/o-spreadsheet#8802
Created by fw-bot
Merged
at aeb8b174405e7bbb91165c3e50ff10a93995d351
Statuses:
- label
- odoo:saas-19.1-17.0-perf-menu-component-adrm-530607-fw
- head
- 7603ed602fc9d51f0293afeb3f8e0a165e6d4dcc
- merged
- 2 weeks 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