jupyterlab / benchmarks

Benchmarking tools for JupyterLab
https://jupyterlab-benchmarks.readthedocs.io
BSD 3-Clause "New" or "Revised" License
12 stars 16 forks source link

Proposal: create a user-facing benchmarking extension #119

Closed krassowski closed 1 year ago

krassowski commented 1 year ago

Problem

Profiling of the UI performance issues is difficult due to differences in:

Some browser-specific performance regressions are caused by CSS rules which affect the number of elements marked for style recalculation; existence of a single such a rule in an extension will cause JupyterLab to slow down substantially unless browser implements clever optimisation strategies. Such issues by definition cannot be detected on CI.

Proposed Solution

I would like to propose a creation of user-facing extension enabling users and managers of JupyterLab deployments to benchmark the UI of JupyterLab locally, providing information on performance impact of installed extensions in a specific browser of choice for a set or pre-specified actions. The extension would ideally be forward compatible with upcoming Jupyter Notebook v7.

I would like to enable users/workspace administrators to:

I don't know how to name it, but for now we could name the npm package @jupyterlab-benchmarks/ui-profiler and the PyPI jupyterlab-ui-profiler.

Some UI ideas for the UI profiler:

I already have a PoC for the CSS benchmarking part, and if we are happy to proceed with the idea of making it a user-facing extension, I would like to wrap it in an extension, integrate with CI (for the part which can be integrated) and open a PR.

Additional context

fcollonval commented 1 year ago

@krassowski as you released https://github.com/jupyterlab/ui-profiler, can this issue be closed?