o-spreadsheet
o-spreadsheet copied to clipboard
[PERF] Actions: Fill missing ids with fast unique values
The ActionsSpecs have a defaut behaviour where we are not obligated to provide an id in the actionSpec because "CreateAction" will end up generating it on demand with an uuidv4.
However, uuidv4 can become a problem if invoked to often and it so happens that some actionSpecs related to the topbar benefit from this automatic generation. Since the topbar items are regenerated at each rendering of a spreadsheet, they can become problematic.
For instance, in Odoo test suites, they take up to 2-3% of the computation time.
This revision bypasses the call to an actual uuidv4 by forcing a fast strategy in the uuidGenerator, which accomplishes the same result, having a unique identifier for each menu item generated.
Task: 4216427
Description:
description of this task, what is implemented and why it is implemented that way.
Task: TASK_ID
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