Skip to main content

A tiny command line benchmarking utility

Project description

paragon

A tiny command line benchmarking utility (and a python library!)

Demo

asciicast

Features

  • Statistical analysis
  • Cool progress bars
  • Python library
  • Export results to various file formats (todo)

Installation

You can install the command line utility via pip:

$ pip install paragon

Usage

You can use paragon as a command line utility or a python library.

CLI

After running --help:

Options:
  -a, --accuracy INTEGER  Number of iterations
  -f, --files PATH        Input file path(s)
  -o, --output PATH       Output file path
  --help                  Show this message and exit.

Examples:

Benchmarking code as a string:

$ paragon "print('hello, world')" -a 20

Providing a python file:

$ paragon -f /path/to/file.py

Library

Example:

from paragon import Paragon

n = 1000000

def main():
    """entry point"""
    fizzbuzz(n)
    fib_wrapper(30)

@Paragon.benchmark(name="FizzBuzz!", accuracy=20)
def fizzbuzz(n):
    return list(
        map(
            lambda i: "Fizz" * (i % 3 == 0) + "Buzz" * (i % 5 == 0) or str(i),
            range(1, n),
        )
    )

# You must wrap your recursive functions
@Paragon.benchmark(name="Fibonacci!", accuracy=20)
def fib_wrapper(n):
    def fib(n):
        return 1 if n in [0, 1] else fib(n - 1) + fib(n - 2)
    fib(n)

if __name__ == "__main__":
    main()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paragon-0.0.5.tar.gz (6.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page