enso/tools/performance/engine-benchmarks
Pavel Marek 3a3bef0b46
Move benchmark download tool and visualization to the CI (#9075)
Creates a new [Benchmarks upload](https://github.com/enso-org/enso/pull/9075/files#diff-8859b4f24c2f25d300fe800ee431d7f9f7e68de459395a7e9b22abf79440c862) GitHub action that fetches all the latest benchmark results, and uploads them on the website hosted on https://github.com/enso-org/engine-benchmark-results repo. The results are stored in that repo in a bunch of JSON files.

# Important Notes
The new *Benchmarks upload* action is scheduled to run after either "Engine benchmarks" or "Standard library benchmarks" jobs are complete.
2024-02-28 17:54:12 +00:00
..
bench_tool Move benchmark download tool and visualization to the CI (#9075) 2024-02-28 17:54:12 +00:00
Engine_Benchs Update the aggregate API to take a separate group_by (#9027) 2024-02-13 10:23:59 +00:00
templates Move benchmark download tool and visualization to the CI (#9075) 2024-02-28 17:54:12 +00:00
bench_download.py Move benchmark download tool and visualization to the CI (#9075) 2024-02-28 17:54:12 +00:00
README.md Move benchmark download tool and visualization to the CI (#9075) 2024-02-28 17:54:12 +00:00
website_regen.py Move benchmark download tool and visualization to the CI (#9075) 2024-02-28 17:54:12 +00:00

Engine benchmarks

This directory contains a python script bench_download.py for downloading Engine and stdlib benchmark results from GitHub, and Engine_Benchs Enso project for analysing the downloaded data.

Note that for convenience, there is bench_tool directory that is a Python package. The bench_download.py script uses this package.

To run all the Python tests for that package, run python -m unittest in this directory.

Dependencies for bench_download.py:

  • python >= 3.7
  • pandas and jinja2
    • Install, e.g., by pip install pandas jinja2
  • GH CLI utility

Check bench_download -h for documentation and usage. Ensure that your /usr/bin/env python links to Python version at least 3.7. bench_download.py creates generated_site directory with HTML files for visualizing the benchmark results.

One can also analyze the benchmarks in Enso IDE by running bench_download.py --create-csv and then running Engine_Benchs project. The created CSV is pasted into Engine_Benchs/data directory by default.