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

Automatic benchmark plot generation in matplotlib #19

Open
SebastianSemper opened this issue Nov 30, 2017 · 0 comments
Open

Automatic benchmark plot generation in matplotlib #19

SebastianSemper opened this issue Nov 30, 2017 · 0 comments
Assignees
Milestone

Comments

@SebastianSemper
Copy link
Member

SebastianSemper commented Nov 30, 2017

Problem

For the migration to Sphinx we need means of automatically generating plots based on data from CSV-files. Moreover it is useful for inspection during development to compare differing implementation with respect to speed, memory consumption and scaling. For this the detour over *TeX is very inconvenient and uncommon.

Requirements

  • independence from *TeX
  • few dependencies python-wise in terms of packages
  • flexibility in sources and destinations
  • automatic choice of the correct plot layout for the given benchmark data
  • multiple output formats (PDF, PNG, TikZ, ...)

Solution

We extend util/bee.py with a plot mode. This mode should require one input. First, we specify the path of a folder, where the CSV-files are located. If the user specifies a second path, the PDF-files containing the plots will be saved to that destination. Moreover the user should be allowed to specify one or multiple formats, for the plot output. s possible call then could look like

python util/bee.py plot -i bencharks/ -o doc/_static/plots -f png pdf

The plot generator should be able to automatically detect from the filename of the CSV-file, how the data should be plotted by making sane choices for axis scaling, naming and data selection.

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

2 participants