Skip to main content

Beautiful and pythonic benchmarks engine.

Project description

true-north

Beautiful, powerful, and pythonic benchmarks engine for Python code.

Features:

  • Follows best practices of benchmarking to produce the most reliable results.
  • Detects caching and side-effects.
  • Traces memory usage and allocations (opt-in).
  • Opcodes tracing for reproducble benchmarks (opt-in).
  • 100% type safe.
  • Zero dependency.
  • Highly configurable.
  • Nice and colorful output.
  • Ships with CLI to discover and run all benchmarks.
  • A friendly API to write your own logic on top of benchmarks.
sorting algorithms
  list.sort
    possible side-effect detected: slowest iteration x21 slower than fastest
    5k   loops, best of 5:  43.579 us ±  12.681 us                 ████▇
              11 ops, 3961 ns/op
  sorted
    5k   loops, best of 5:  43.911 us ±   3.697 us    x1.01 slower █████
              11 ops, 3991 ns/op
  insert_sort
    2    loops, best of 5: 100.662 ms ± 111.725 us x2309.85 slower █████
      11_683_767 ops,    8 ns/op

Installation

python3 -m pip install true-north

Usage

import true_north

group = true_north.Group()

@group.add
def math_sorted(r):
    val = [1, 2, 3] * 300
    # timer start before entering the loop
    # and stops when leaving it
    for _ in r:
        sorted(val)

# run and print all benchmarks in the group
if __name__ == '__main__':
    group.print()

See examples for more examples and true-north.orsinium.dev for chad documentation.

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

true-north-0.3.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

true_north-0.3.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file true-north-0.3.0.tar.gz.

File metadata

  • Download URL: true-north-0.3.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for true-north-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cedc88339093f68089d0e751e712f143c98a6b51c1af2e14d2b6b817307a3fa8
MD5 e61894b1d65a168c879fa37471e22db0
BLAKE2b-256 75eb98384e09dad09ef2a054c9c89737e5fe0a73cad2d16e4c063b99dd81ae33

See more details on using hashes here.

File details

Details for the file true_north-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: true_north-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for true_north-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41201598bf58d32b3c7b81a2fd68571e94e90e33bfb82d2fa855c5f4f2f3086a
MD5 3bb417927cb714e170127b1d683e080d
BLAKE2b-256 c021fa5dc2f5d15f2b2c90c38a285fe37288e5e2d88a3bf1732653dded202ed4

See more details on using hashes here.

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