Skip to content

bug(perf): regression in call tree render performance#580

Merged
lcottercertinia merged 4 commits intocertinia:mainfrom
lukecotter:perf-calltree-render
Mar 26, 2025
Merged

bug(perf): regression in call tree render performance#580
lcottercertinia merged 4 commits intocertinia:mainfrom
lukecotter:perf-calltree-render

Conversation

@lukecotter
Copy link
Copy Markdown
Contributor

@lukecotter lukecotter commented Mar 25, 2025

Description

  • Fix a regression in the render performance of the call tree
  • The find formatter applied to each row was always executing after each animation frame via requestAnimationFrame (RAF) regardless of whether there could possibly be any text to highlight (no search had been done), this is now skipped unless needed.
  • The MiddleRowFocus was always adding setTimeout to the task queue event if there was no row to focus on, this is now skipped unless needed.

TODO

  • Update changelog

Type of change (check all applicable)

  • 🐛 Bug fix
  • ✨ New feature
  • ♻️ Refactor
  • ⚡ Performance Improvement
  • 📝 Documentation
  • 🔧 Chore
  • 💥 Breaking change

[optional] Any images / gifs / video

Related Tickets & Documents

Related Issue #
fixes #581
resolves #
closes #

Added tests?

  • 👍 yes
  • 🙅 no, not needed
  • 🙋 no, I need help

Added to documentation?

  • 🔖 README.md
  • 🔖 CHANGELOG.md
  • 📖 help site
  • 🙅 not needed

[optional] Are there any post-deployment tasks we need to perform?

Avoid cleartimeout firing thousands of times, once for each expanded row.
Will only execute when there is a row to focus on.
@lukecotter lukecotter marked this pull request as draft March 25, 2025 15:04
…/ shown

The calculation to find the middle row was using the table height inlcuding
columns headers + footer. It should have been using only the scrollable
div containing rows.
@lcottercertinia lcottercertinia marked this pull request as ready for review March 26, 2025 10:51
@lcottercertinia lcottercertinia merged commit 0c4eca8 into certinia:main Mar 26, 2025
5 checks passed
@lukecotter lukecotter deleted the perf-calltree-render branch March 26, 2025 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: performance regression in call tree rendering between v1.14.1 and v1.16.0

2 participants