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.
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
Solution
We extend
util/bee.py
with aplot
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 likepython 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.