{
"info": {
"author": "Victor Stinner",
"author_email": "victor.stinner@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "******\npyperf\n******\n\n.. image:: https://img.shields.io/pypi/v/pyperf.svg\n :alt: Latest release on the Python Cheeseshop (PyPI)\n :target: https://pypi.python.org/pypi/pyperf\n\n.. image:: https://travis-ci.org/vstinner/pyperf.svg?branch=master\n :alt: Build status of pyperf on Travis CI\n :target: https://travis-ci.org/vstinner/pyperf\n\nThe Python ``pyperf`` module is a toolkit to write, run and analyze benchmarks.\n\nFeatures\n========\n\n* Simple API to run reliable benchmarks\n* Automatically calibrate a benchmark for a time budget.\n* Spawn multiple worker processes.\n* Compute the mean and standard deviation.\n* Detect if a benchmark result seems unstable.\n* JSON format to store benchmark results.\n* Support multiple units: seconds, bytes and integer.\n\n\nUsage\n=====\n\nTo `run a benchmark`_ use the ``pyperf timeit`` command (result written into\n``bench.json``)::\n\n $ python3 -m pyperf timeit '[1,2]*1000' -o bench.json\n .....................\n Mean +- std dev: 4.22 us +- 0.08 us\n\nOr write a benchmark script ``bench.py``:\n\n.. code:: python\n\n #!/usr/bin/env python3\n import pyperf\n\n runner = pyperf.Runner()\n runner.timeit(name=\"sort a sorted list\",\n stmt=\"sorted(s, key=f)\",\n setup=\"f = lambda x: x; s = list(range(1000))\")\n\nSee `the API docs`_ for full details on the ``timeit`` function and the\n``Runner`` class. To run the script and dump the results into a file named\n``bench.json``::\n\n $ python3 bench.py -o bench.json\n\nTo `analyze benchmark results`_ use the ``pyperf stats`` command::\n\n $ python3 -m pyperf stats bench.json\n Total duration: 29.2 sec\n Start date: 2016-10-21 03:14:19\n End date: 2016-10-21 03:14:53\n Raw value minimum: 177 ms\n Raw value maximum: 183 ms\n\n Number of calibration run: 1\n Number of run with values: 40\n Total number of run: 41\n\n Number of warmup per run: 1\n Number of value per run: 3\n Loop iterations per value: 8\n Total number of values: 120\n\n Minimum: 22.1 ms\n Median +- MAD: 22.5 ms +- 0.1 ms\n Mean +- std dev: 22.5 ms +- 0.2 ms\n Maximum: 22.9 ms\n\n 0th percentile: 22.1 ms (-2% of the mean) -- minimum\n 5th percentile: 22.3 ms (-1% of the mean)\n 25th percentile: 22.4 ms (-1% of the mean) -- Q1\n 50th percentile: 22.5 ms (-0% of the mean) -- median\n 75th percentile: 22.7 ms (+1% of the mean) -- Q3\n 95th percentile: 22.9 ms (+2% of the mean)\n 100th percentile: 22.9 ms (+2% of the mean) -- maximum\n\n Number of outlier (out of 22.0 ms..23.0 ms): 0\n\nThere's also:\n\n* ``pyperf compare_to`` command tests if a difference is\n significant. It supports comparison between multiple benchmark suites (made\n of multiple benchmarks)\n ::\n\n $ python3 -m pyperf compare_to py2.json py3.json --table\n +-----------+---------+------------------------------+\n | Benchmark | py2 | py3 |\n +===========+=========+==============================+\n | timeit | 4.70 us | 4.22 us: 1.11x faster (-10%) |\n +-----------+---------+------------------------------+\n\n* ``pyperf system tune`` command to tune your system to run stable benchmarks.\n* Automatically collect metadata on the computer and the benchmark:\n use the ``pyperf metadata`` command to display them, or the\n ``pyperf collect_metadata`` command to manually collect them.\n* ``--track-memory`` and ``--tracemalloc`` options to track\n the memory usage of a benchmark.\n\n\nQuick Links\n===========\n\n* `pyperf documentation\n `_\n* `pyperf project homepage at GitHub\n `_ (code, bugs)\n* `Download latest pyperf release at the Python Cheeseshop (PyPI)\n `_\n\nCommand to install pyperf on Python 3::\n\n python3 -m pip install pyperf\n\npyperf supports Python 2.7 and Python 3. It is distributed under the MIT license.\n\n.. _run a benchmark: https://pyperf.readthedocs.io/en/latest/run_benchmark.html\n.. _the API docs: http://pyperf.readthedocs.io/en/latest/api.html#Runner.timeit\n.. _analyze benchmark results: https://pyperf.readthedocs.io/en/latest/analyze.html\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/vstinner/pyperf",
"keywords": "",
"license": "MIT license",
"maintainer": "",
"maintainer_email": "",
"name": "pyperf",
"package_url": "https://pypi.org/project/pyperf/",
"platform": "",
"project_url": "https://pypi.org/project/pyperf/",
"project_urls": {
"Homepage": "https://github.com/vstinner/pyperf"
},
"release_url": "https://pypi.org/project/pyperf/1.6.1/",
"requires_dist": [
"six",
"statistics ; python_version < '3.4'"
],
"requires_python": "",
"summary": "Python module to run and analyze benchmarks",
"version": "1.6.1"
},
"last_serial": 5300213,
"releases": {
"1.6.1": [
{
"comment_text": "",
"digests": {
"md5": "8ee00140e5a268b63eb7ddd0ef1973be",
"sha256": "b9074a5e16e526ebe260922005ee96b67621ce804efd3e8dd49de49b513397a8"
},
"downloads": -1,
"filename": "pyperf-1.6.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ee00140e5a268b63eb7ddd0ef1973be",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 87633,
"upload_time": "2019-05-21T23:23:06",
"url": "https://files.pythonhosted.org/packages/7f/34/12f4f27e43ed9d2269162fbb07005a08b45b6ed275a0e50cc3afda84af76/pyperf-1.6.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d67fe5f447963da8873f3e9923f76de1",
"sha256": "8d0143a22a13ee10c997a648f30b82cdc40175d5a20b11055ae058a82e45d371"
},
"downloads": -1,
"filename": "pyperf-1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "d67fe5f447963da8873f3e9923f76de1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 174419,
"upload_time": "2019-05-21T23:23:09",
"url": "https://files.pythonhosted.org/packages/ca/f8/885eb690f4098cd1c9b473f4b877b4aa8e0551b57a963ac36621737f3c65/pyperf-1.6.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "8ee00140e5a268b63eb7ddd0ef1973be",
"sha256": "b9074a5e16e526ebe260922005ee96b67621ce804efd3e8dd49de49b513397a8"
},
"downloads": -1,
"filename": "pyperf-1.6.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ee00140e5a268b63eb7ddd0ef1973be",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 87633,
"upload_time": "2019-05-21T23:23:06",
"url": "https://files.pythonhosted.org/packages/7f/34/12f4f27e43ed9d2269162fbb07005a08b45b6ed275a0e50cc3afda84af76/pyperf-1.6.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d67fe5f447963da8873f3e9923f76de1",
"sha256": "8d0143a22a13ee10c997a648f30b82cdc40175d5a20b11055ae058a82e45d371"
},
"downloads": -1,
"filename": "pyperf-1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "d67fe5f447963da8873f3e9923f76de1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 174419,
"upload_time": "2019-05-21T23:23:09",
"url": "https://files.pythonhosted.org/packages/ca/f8/885eb690f4098cd1c9b473f4b877b4aa8e0551b57a963ac36621737f3c65/pyperf-1.6.1.tar.gz"
}
]
}