Skip to content
Automated code benchmark solution.
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
codebench
tests/parsing
.coafile
.gitignore
.travis.yml
LICENSE
README.md
requirements.txt
setup.cfg
setup.py
test-requirements.txt

README.md

Automated code benchmark solution.

Empower developers with tools to trace and analyze project performances.

Build Status codecov.io Pypi Package version

Introduction

What is Codebench?

Codebench is a tool that runs user-defined benchmark programs, monitors system information and generates reports. It is most powerful when using in a project tracked by git. It runs benchmarks based on different commits and reports the system usage difference, so that users can compare and track performance changes of their project across commits. It can also be used in CI (Continuous Integration) to detect recent commits that increases/decreases project performance.

What Codebench is not?

Codebench itself does not provide benchmark programs. It is not smart enough to generate a benchmark program for your code. Instead, it can be considered as a wrapper or a supervisor for your benchmark.

Features

  • Normal Mode
    • comparison among commits
    • auto-generated report
  • CI Mode (in development)
    • comparison with baseline
    • auto-generated report
    • threshold alarms

Installation

Codebench can be simply installed by running:

pip install codebench

If you want to install from a source distribution, extract the tarball and run the following command:

python setup.py install

Usage

Command Line Interface

Codebench provides a command line interface. Run codebench -h for details.

Configuration File

Tired of typing command in CLI? Write a configuration file in yaml format! Take a look at a sample configuration file, or run codebench --init to help you generate one for your project.

Sample

See codebench-sample for details.

A quick demo is demonstrated below:

codebench --script ./benchmark.py \
--report_types chart --commits cb91b8 3cd96d bb1541

You may also run codebench directly in the root directory of sample project, since it has a .codebench.yml file in the root directory.

memory_usage elapsed_time cpu_usage

You can’t perform that action at this time.