Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FW][PERF] helpers: faster default cell height #3973

Conversation

fw-bot
Copy link
Collaborator

@fw-bot fw-bot commented Apr 3, 2024

Description:

cell.content can be expensive for formulas as the content is a computed property which rebuilds the entire formula string based on the tokens and the dependency ranges.

With this commit, we first check if the cell is a formula, in which case we know it has a content.

When loading the Timesheet report on odoo.com, the total time spent in getDefaultCellHeight goes from ~280ms (~2.5%) to less than 5ms (0.0%)

Task: : 3845472

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

`cell.content` can be expensive for formulas as the content is a computed
property which rebuilds the entire formula string based on the tokens
and the dependency ranges.

With this commit, we first check if the cell is a formula, in which case we
know it has a content.

When loading the Timesheet report on odoo.com, the total time spent in
`getDefaultCellHeight` goes from ~280ms (~2.5%) to less than 5ms (0.0%)

Task: 3845472
X-original-commit: 6c96ded
@robodoo
Copy link
Collaborator

robodoo commented Apr 3, 2024

@fw-bot
Copy link
Collaborator Author

fw-bot commented Apr 3, 2024

This PR targets saas-17.2 and is part of the forward-port chain. Further PRs will be created up to master.

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

robodoo pushed a commit that referenced this pull request Apr 3, 2024
`cell.content` can be expensive for formulas as the content is a computed
property which rebuilds the entire formula string based on the tokens
and the dependency ranges.

With this commit, we first check if the cell is a formula, in which case we
know it has a content.

When loading the Timesheet report on odoo.com, the total time spent in
`getDefaultCellHeight` goes from ~280ms (~2.5%) to less than 5ms (0.0%)

closes #3973

Task: 3845472
X-original-commit: 6c96ded
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
@robodoo robodoo closed this Apr 3, 2024
@fw-bot fw-bot deleted the saas-17.2-17.0-faster-default-cell-height-lul-gAM3-fw branch April 17, 2024 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants