Skip to main content

Lightweight profiling tool to detect performance BottleNecks in Python code.

Project description

Hence the name: bn - BottleNeck. And you know keys B and N are very comfortable to type quickly in a row.

Usage:

bn('loop')
for item in generator:

    bn('rabbit')
    # code of rabbit

    bn('turtle')
    # code of turtle

    bn('loop')

if bn.total > 1.0:
    logging.info(bn)

Result:

TOTAL=22.2632, turtle=20.6403, rabbit=1.6209, loop=0.0020
#
# This config is default in bn>=0.1.5:
# Bn(total_key='TOTAL', format='{key}={seconds:.4f}', sep=', ')

# OR:

22.2632    TOTAL
20.6403    turtle
 1.6209    rabbit
 0.0020    loop
#
# This config is default in bn<=0.1.4:
# Bn(total_key='TOTAL', format='{seconds:>10.4f}    {key}', sep='\n')

Install:

pip install bn

Scope:

# Global "bn" is useful to profile cross-module without passing "bn" explicitly.
from bn import bn
bn.format = custom_format

# Scoped "Bn" is useful to have multiple independent profilers.
from bn import Bn
def action():
    bn = Bn(format=custom_format)

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

bn-0.1.5.tar.gz (2.1 kB view details)

Uploaded Source

File details

Details for the file bn-0.1.5.tar.gz.

File metadata

  • Download URL: bn-0.1.5.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bn-0.1.5.tar.gz
Algorithm Hash digest
SHA256 61c3f499d2aa0a1a109494f4307e419f7bce3340aa517358ea35a64eaf01b14f
MD5 2b432df4f386f66c43ff797288f09c6c
BLAKE2b-256 5508719260370a3072880a02f773566a6e0ba725a4db25caac91cb89565552c2

See more details on using hashes here.

Supported by

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