# Timeitpoj
yet another random library for measuring python performance
[![Build and Test](https://github.com/jvanmelckebeke/timeitpoj/actions/workflows/run-tests.yaml/badge.svg)](https://github.com/jvanmelckebeke/timeitpoj/actions/workflows/run-tests.yaml)
[![PyPI version](https://badge.fury.io/py/timeitpoj.svg)](https://badge.fury.io/py/timeitpoj)
## Usage in production
if you do not need to measure performance of your code in a production environment, simply set the environment
variable `TIME_IT` to`false`
#### Example
```python
from timeitpoj.timeit import TimeIt
from time import sleep
BASE_TIME = 0.1
with TimeIt("my timer") as timer:
print("Executing my timer....")
sleep(BASE_TIME)
with timer("my subtimer"):
print("Executing my subtimer....")
sleep(BASE_TIME)
with timer("my nested subtimer"):
print("Executing my nested subtimer....")
sleep(BASE_TIME)
for _ in range(2):
with timer("my super nested subtimer 2"):
sleep(BASE_TIME)
for _ in range(5):
with timer("my nested subtimer 2"):
sleep(BASE_TIME)
with timer("my subtimer 992"):
print("Executing my subtimer 2....")
sleep(BASE_TIME)
with timer("my subtimer 4"):
print("Executing my subtimer 4....")
sleep(BASE_TIME)
# Something that is not covered by the timer
sleep(BASE_TIME * 2)
```
#### Output
```
================= [my timer] TIMEIT REPORT =================
[TIMEIT] my timer took 1.403 seconds
└── [81.80%] my subtimer ; 0.902 seconds
├── [37.49%] my nested subtimer ; 0.300 seconds
└── my super nested subtimer 2 ; 0.200 seconds ; 2 times ; avg 0.100 seconds
└── [62.51%] my nested subtimer 2 ; 0.501 seconds ; 5 times ; avg 0.100 seconds
├── [ 9.12%] my subtimer 992 ; 0.101 seconds
└── [ 9.08%] my subtimer 4 ; 0.100 seconds
└── [ 0.01%] internal time: 0.112 milliseconds
[78.56%% COVERAGE] time accounted for: 1.102 seconds, time unaccounted for: 0.301 seconds
[TIMEIT] report generation took 0.190 milliseconds
================= [my timer] TIMEIT REPORT =================
```
Raw data
{
"_id": null,
"home_page": "https://github.com/jvanmelckebeke/timeitpoj",
"name": "timeitpoj",
"maintainer": "Jari Van Melckebeke",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "jarivanmelckebeke@gmail.com",
"keywords": "timeit,performance,benchmark,time,measure",
"author": "Jari Van Melckebeke",
"author_email": "jarivanmelckebeke@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e6/f5/8ee1fce1bade0bcf13d1350f6a35094bfd8b2fda630552f393ac2f46c85f/timeitpoj-0.1.11.tar.gz",
"platform": null,
"description": "# Timeitpoj\n\nyet another random library for measuring python performance\n\n[![Build and Test](https://github.com/jvanmelckebeke/timeitpoj/actions/workflows/run-tests.yaml/badge.svg)](https://github.com/jvanmelckebeke/timeitpoj/actions/workflows/run-tests.yaml)\n[![PyPI version](https://badge.fury.io/py/timeitpoj.svg)](https://badge.fury.io/py/timeitpoj)\n\n## Usage in production\n\nif you do not need to measure performance of your code in a production environment, simply set the environment\nvariable `TIME_IT` to`false`\n\n#### Example\n\n```python\nfrom timeitpoj.timeit import TimeIt\nfrom time import sleep\n\nBASE_TIME = 0.1\n\nwith TimeIt(\"my timer\") as timer:\n print(\"Executing my timer....\")\n sleep(BASE_TIME)\n\n with timer(\"my subtimer\"):\n print(\"Executing my subtimer....\")\n sleep(BASE_TIME)\n\n with timer(\"my nested subtimer\"):\n print(\"Executing my nested subtimer....\")\n sleep(BASE_TIME)\n\n for _ in range(2):\n with timer(\"my super nested subtimer 2\"):\n sleep(BASE_TIME)\n\n for _ in range(5):\n with timer(\"my nested subtimer 2\"):\n sleep(BASE_TIME)\n\n with timer(\"my subtimer 992\"):\n print(\"Executing my subtimer 2....\")\n sleep(BASE_TIME)\n\n with timer(\"my subtimer 4\"):\n print(\"Executing my subtimer 4....\")\n sleep(BASE_TIME)\n\n # Something that is not covered by the timer\n sleep(BASE_TIME * 2)\n```\n\n#### Output\n\n```\n================= [my timer] TIMEIT REPORT =================\n[TIMEIT] my timer took 1.403 seconds\n\u2514\u2500\u2500 [81.80%] my subtimer ; 0.902 seconds\n \u251c\u2500\u2500 [37.49%] my nested subtimer ; 0.300 seconds\n \u2514\u2500\u2500 my super nested subtimer 2 ; 0.200 seconds ; 2 times ; avg 0.100 seconds\n \u2514\u2500\u2500 [62.51%] my nested subtimer 2 ; 0.501 seconds ; 5 times ; avg 0.100 seconds\n\u251c\u2500\u2500 [ 9.12%] my subtimer 992 ; 0.101 seconds\n\u2514\u2500\u2500 [ 9.08%] my subtimer 4 ; 0.100 seconds\n\u2514\u2500\u2500 [ 0.01%] internal time: 0.112 milliseconds\n[78.56%% COVERAGE] time accounted for: 1.102 seconds, time unaccounted for: 0.301 seconds\n[TIMEIT] report generation took 0.190 milliseconds\n================= [my timer] TIMEIT REPORT =================\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "yet another random library for measuring python performance",
"version": "0.1.11",
"project_urls": {
"Homepage": "https://github.com/jvanmelckebeke/timeitpoj",
"Repository": "https://github.com/jvanmelckebeke/timeitpoj"
},
"split_keywords": [
"timeit",
"performance",
"benchmark",
"time",
"measure"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0cdcf75ce8782c27f154b45f8d0f10f4348ae5628041a0340c6088298c96cd86",
"md5": "f205b786fa6fadeadddbf0a9267a87f6",
"sha256": "4d5e719b6f94ba2fb8061dc4d442780611dc806224eb774ac21d571e09527bfb"
},
"downloads": -1,
"filename": "timeitpoj-0.1.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f205b786fa6fadeadddbf0a9267a87f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 10664,
"upload_time": "2024-01-05T22:31:41",
"upload_time_iso_8601": "2024-01-05T22:31:41.601970Z",
"url": "https://files.pythonhosted.org/packages/0c/dc/f75ce8782c27f154b45f8d0f10f4348ae5628041a0340c6088298c96cd86/timeitpoj-0.1.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e6f58ee1fce1bade0bcf13d1350f6a35094bfd8b2fda630552f393ac2f46c85f",
"md5": "cb80e11d62c86a52bed4d97c35bc0111",
"sha256": "6a5f27b923e98d90f0e9816c1cead3c052e1aa51c4f0ce86fe5be8de264ad371"
},
"downloads": -1,
"filename": "timeitpoj-0.1.11.tar.gz",
"has_sig": false,
"md5_digest": "cb80e11d62c86a52bed4d97c35bc0111",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 8049,
"upload_time": "2024-01-05T22:31:43",
"upload_time_iso_8601": "2024-01-05T22:31:43.537590Z",
"url": "https://files.pythonhosted.org/packages/e6/f5/8ee1fce1bade0bcf13d1350f6a35094bfd8b2fda630552f393ac2f46c85f/timeitpoj-0.1.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-05 22:31:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jvanmelckebeke",
"github_project": "timeitpoj",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "timeitpoj"
}