odoo/o-spreadsheet#4125

Created by fw-bot
label
odoo:master-saas-16.4-faster-dependencies-lul-Cp2o-fw
head
4552587111b31d557112fcde15b08398597f8cb4
target
master
merged
3 weeks ago by BI, RĂ©mi Rahir (rar)
forward-port of
odoo/o-spreadsheet#4093 DETACHED (conflicts: ('c730865c9cee2a1a11617c0df21a395e958aa19e', 'Auto-merging src/helpers/misc.ts\nAuto-merging src/helpers/recompute_zones.ts\nCONFLICT (add/add): Merge conflict in src/helpers/recompute_zones.ts\n', '13:26:09.464480 git.c:463 trace: built-in: git cherry-pick c730865c9cee2a1a11617c0df21a395e958aa19e\nerror: could not apply c730865c9... [IMP] helpers: backport recompute zone\nhint: After resolving the conflicts, mark them with\nhint: "git add/rm <pathspec>", then run\nhint: "git cherry-pick --continue".\nhint: You can instead skip this commit with "git cherry-pick --skip".\nhint: To abort and get back to the state before "git cherry-pick",\nhint: run "git cherry-pick --abort".\n----------\nstatus:\n', ['c730865c9cee2a1a11617c0df21a395e958aa19e', 'd14e3341eecb1cf99eb5527afea58c3db27d3503']) ('c730865c9cee2a1a11617c0df21a395e958aa19e', 'Auto-merging src/helpers/misc.ts\nAuto-merging src/helpers/recompute_zones.ts\nCONFLICT (add/add): Merge conflict in src/helpers/recompute_zones.ts\n', '13:26:09.464480 git.c:463 trace: built-in: git cherry-pick c730865c9cee2a1a11617c0df21a395e958aa19e\nerror: could not apply c730865c9... [IMP] helpers: backport recompute zone\nhint: After resolving the conflicts, mark them with\nhint: "git add/rm <pathspec>", then run\nhint: "git cherry-pick --continue".\nhint: You can instead skip this commit with "git cherry-pick --skip".\nhint: To abort and get back to the state before "git cherry-pick",\nhint: run "git cherry-pick --abort".\n----------\nstatus:\n', ['c730865c9cee2a1a11617c0df21a395e958aa19e', 'd14e3341eecb1cf99eb5527afea58c3db27d3503']))

[FW][PERF] evaluation: faster dependencies checking

On RNG's spreadsheet, from 12+ secondes to <180ms

Task: 3874821

## Description:

description of this task, what is implemented and why it is implemented that way.

Task: : [TASK_ID](https://www.odoo.com/web#id=TASK_ID&action=333&active_id=2328&model=project.task&view_type=form&cids=1&menu_id=4720)

## 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

Forward-Port-Of: odoo/o-spreadsheet#4118
Forward-Port-Of: odoo/o-spreadsheet#4093