Skip to content

pwwang/benchwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

benchwork

A framework for benchmarking in python

Installation

pip install -U benchwork

Usage

from benchwork import (
    BenchAPI,
    BenchCaseSpeed,
    BenchSuite,
    BenchSetSpeed,
    BenchSetVersion,
    run_suite,
)


class BenchAPIPackage1(BenchAPI):
    name = "package1"
    version = "0.0.1"


class BenchAPIPackage2(BenchAPI):
    name = "package2"
    version = "0.0.2"


class BenchCaseSpeed(BenchCaseSpeed):
    timeit_number = 10

    def run_core(self):
        import time
        time.sleep(.1)


class BenchSetSpeed(BenchSetSpeed):
    case = BenchCaseSpeed


class BenchSuite(BenchSuite):
    """Benchmarking suite"""
    set_classes = [BenchSetVersion, BenchSetSpeed]


if __name__ == "__main__":
    run_suite(BenchSuite, None, "Benchmarking")

Output:

# Benchmarking

Benchmarking suite

## Versions

Show versions of testing packages

| |Version|
|-|-----------------------|
|package1|0.0.1|
|package2|0.0.2|

## Running speed

| |Speed|
|-|-----------------------|
|package1|1.003228693996789|
|package2|1.0028911930057802|