Perun: Lightweight Performance Version System

Perun is an open source light-weight Performance Version System, which works as a wrapper over existing Version Control Systems and in parallel manages performance profiles corresponding to different versions of projects. Moreover, it offers a tool suite suitable for automation of the performance regression test runs, postprocessing of existing profiles or effective interpretation of the results.

Perun has the following advantages over using databases or sole Version Control Systems for the same purpose:

-Preserves Context
Each performance profile is assigned to a concrete minor version adding the functional context (i.e. code changes) of profiles.

– Provides Automation
Perun allows one to easily automate the process of profile collection, eventually reducing the whole process to a single command. The specification of jobs is read from YAML files.

-Is Highly Generic
supported format of the performance profiles is based on JSON. Perun tool suite contains a basic set of visualizations, postprocessing and collection modules, but it is easily extensible.

-Is Easy to use
the workflow, interface and storage of Perun is heavily inspired by the git systems aiming at natural use.

Perun is intented to be used in two ways: (1) for a single developer (or a small team) as a complete solution for automating, storing and interpreting performance of project or (2) as a dedicated store for a bigger projects and teams. Its git-like design aims at easy distribution and simple interface makes it a good store of profiles along with the context.