Skip to main content

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.

Release files for true-north 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for true-north 0.3.0
File Size Uploaded
true-north-0.3.0.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for true-north 0.3.0
File Interpreter ABI Platform
true_north-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.4 kB

Release files / true-north-0.3.0.tar.gz

Download URL true-north-0.3.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cedc88339093f68089d0e751e712f143c98a6b51c1af2e14d2b6b817307a3fa8
BLAKE2b-256 checksum
How to use checksums
75eb98384e09dad09ef2a054c9c89737e5fe0a73cad2d16e4c063b99dd81ae33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.25.1

Release files / true_north-0.3.0-py3-none-any.whl

Download URL true_north-0.3.0-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41201598bf58d32b3c7b81a2fd68571e94e90e33bfb82d2fa855c5f4f2f3086a
BLAKE2b-256 checksum
How to use checksums
c021fa5dc2f5d15f2b2c90c38a285fe37288e5e2d88a3bf1732653dded202ed4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.25.1

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page