Saul Shanabrook bda1563b81 make chart better 4 rokov pred
..
extensions 30e26f1c26 working benchmark for fixed data table 4 rokov pred
src b4fcd8e61a Fix benchmarks 4 rokov pred
.gitignore fde29600e2 Add screenshot 4 rokov pred
README.md 677d0d1855 Get fixed data table working 4 rokov pred
analysis.vl.json bda1563b81 make chart better 4 rokov pred
package.json 0f7ca3873d Run custom tests 5 rokov pred
screenshot.png fde29600e2 Add screenshot 4 rokov pred
tsconfig.json 0f7ca3873d Run custom tests 5 rokov pred

README.md

Benchmarks

This package contains some scripts to run benchmarks against JupyterLab.

Currently it runs one type benchmark, switching between open notebooks, with a variety of different notebook sizes and types.

To run the benchmarks against notebooks with long outputs and notebooks with many outputs, and to see how the times change as the notebooks grow:

jplm # First install dependencies

env 'BENCHMARK_NOTEBOOKS=["./longOutput", "./manyOutputs"]' jlpm all

BENCHMARK_NOTEBOOKS should be a list strings that node can import that return a description of how to create a notebook. They should have a default export of the type NotebookType in ./src/notebookType.ts. If you don't provide it, it will be run against all built in benchmark, which require installing some extensions below.

It will keep increasing the n until either it reaches a maximum or the time exceeds a certain budget.

It will run on both firefox and chrome.

Plotly

We also build in support to run this against some plotly ipywidgets, to get a sense of how rendering time is impacted by heavier mime render types:

First add the plotly and ipywidgets to the dev_mode/package.json:

    "externalExtensions": {
      "@jupyter-widgets/jupyterlab-manager": "2.0.0",
      "plotlywidget": "1.5.4",
      "jupyterlab-plotly": "1.5.4"
    },

Then install the python packages:

pip install plotly==4.5.4 ipywidgets==7.5.1

Then run the build, run the benchmarks, and view the results:

env 'BENCHMARK_NOTEBOOKS=["./largePlotly", "./manyPlotly"]' jlpm all

React Fixed Data Tables

We add support for testing against a mime render of fixed-data-table-2 which is an example of a cell output that takes a while to render:

    "externalExtensions": {
      "fdtmime": "file:../benchmarks/extensions/fixed-data-table"
    },
env 'BENCHMARK_NOTEBOOKS=["./fixedDataTable", "./manyOutputs"]' jlpm all