8000 Explore page performance issues · Issue #2997 · lightdash/lightdash · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Explore page performance issues #2997
Closed
@ZeRego

Description

@ZeRego

Description

Explore page feels unresponsive since it might take seconds to update!
Any action from:

  • select a field from the sidebar
  • add a filter
  • switch from chart to big number or table
  • change any config in the chart/table

To Reproduce

Aug-18-2022 17-30-24

Possible causes/solutions:

  • we are using lazy: false for the configuration popups. This means all the hooks and logic in those components are "active" and possibly causing multiple state changes in the Visualization provider. This can be easily be fixed and tested.
  • Visualization provider is handling simultaneously all the chart types , big number and table hooks which are constantly recalculating configuration, etc. We should find a way to avoid this. Perhaps the hooks live in the specific type component and then save the state in the provider, once the user changes type the component calculates the state and replaces the state in the provider.
  • Poor use of arrays when we should be using key/value maps. This is a recurrent issue when dealing with the explore items causing us to loop over data unnecessarily. I think the explore provider should provide the itemMap and the selectedItemMap. But I don't think this would have such a big impact compared with the previous points that may cause multiple re-renders.
  • Plotting data will most likely have to be moved to the server.

App Version

0.222.0

Metadata

Metadata

Assignees

Labels

tech-debtCruft, refactoring, and hinderances to developer productivity🐛 bugSomething isn't working as expected. This can be an error or an unexpected user experience🖥 frontendThis issue requires changes to the frontend

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0