Skip to content

drkostas/bench-utils

Repository files navigation

Benchmark Utilities

Downloads GitHub license

About

A collection of benchmarking tools. PYPI Package

Table of Contents

Using the library

Installing and using the library

First, you need to install the library either using pip:

$ pip install bench_utils

Then, import it and use it like so:

from bench_utils import timeit, profileit

# --- Timeit --- #
# Context Manager
with timeit():
    # A code block
    pass


@timeit()
def my_func():
    # Function code
    pass


# --- Profileit --- #
# Context Manager
with profileit():
    # A code block
    pass


@profileit()
def my_func():
    # Function code
    pass

For more advanced examples check example_timeit.py and example_profileit.py .

Manually install the library

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You need to have a machine with anaconda installed and any Bash based shell (e.g. zsh) installed.

$ conda -V
conda 4.10.1

$ echo $SHELL
/usr/bin/zsh

Install the requirements

All the installation steps are being handled by the Makefile.

First, modify the python version (min_python) and everything else you need in the settings.ini.

Then, execute the following commands:

$ make create_env
$ conda activate bench_utils
$ make dist

Now you are ready to use and modify the library.

Update PyPI package

This is mainly for future reference for the developers of this project. First, create a file called ~/.pypirc with your pypi login details, as follows:

[pypi]
username = your_pypi_username
password = your_pypi_password

Then, modify the python version (min_python), project status (status), release version (version) and everything else you need in the settings.ini.

Finally, execute the following commands:

$ make create_env
$ conda activate bench_utils
$ make release

For a dev release, change the testing_version and instead of make release, run make release_test.

License

This project is licensed under the Apache License - see the LICENSE file for details.

Buy Me A Coffee