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

Review performance of column adds/removes + useVirtualColumns default for grids with many columns #3903

Closed
amcclain opened this issue Jan 15, 2025 · 1 comment

Comments

@amcclain
Copy link
Member

Grids with a large number of columns can have noticeably poor performance when adding or removing many columns at once via the column chooser, or by loading saved state via ViewManager.

We should:

  • See if we can pin down what a "large number" is in this context - is there any threshold where performance starts to fall off steeply (30 cols, 50, 70?).
  • Review the current default value of useVirtualColumns: false. Refresh our memory as to any downside to always enabling, consider printing a console warning for devs if not enabled and colCount > threshhold, or have the grid auto-adjust the default based on colCount.
  • Review if we could be updating column state more efficiently - performance hit seems especially bad when removing a bunch of columns at once - are we applying updates a column at a time, are we using the optimal AG Grid API?

(Filed as follow-up to Slack chat in #hoist on 2025-01-15)

@amcclain
Copy link
Member Author

Closing this after merge of #3905 - this was the immediate cause of poor performance when showing/hiding a large number of columns at once, as col state changes were (prior to that change) processed sequentially.

This ticket also suggested a dev warning or similar to encourage use of virtual columns, but I think we accomplished the more important and actionable improvement with the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant