[Python-checkins] gh-92546: Move pprint benchmark into pyperformance (GH-94613)
miss-islington
webhook-mailer at python.org
Mon Jul 25 14:30:25 EDT 2022
https://github.com/python/cpython/commit/c5140945c723ae6c4b7ee81ff720ac8ea4b52cfd
commit: c5140945c723ae6c4b7ee81ff720ac8ea4b52cfd
branch: main
author: Oleg Iarygin <oleg at arhadthedev.net>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-07-25T11:30:13-07:00
summary:
gh-92546: Move pprint benchmark into pyperformance (GH-94613)
This PR couples with https://github.com/python/pyperformance/pull/222 and supersedes https://github.com/python/cpython/pull/92560. Inspired by https://github.com/python/cpython/issues/93096#issuecomment-1134576471.
Automerge-Triggered-By: GH:ericsnowcurrently
files:
A Misc/NEWS.d/next/Library/2022-07-06-21-24-03.gh-issue-92546.s5Upkh.rst
M Lib/pprint.py
diff --git a/Lib/pprint.py b/Lib/pprint.py
index 575688d8eb6f4..34ed12637e228 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -637,19 +637,6 @@ def _recursion(object):
% (type(object).__name__, id(object)))
-def _perfcheck(object=None):
- import time
- if object is None:
- object = [("string", (1, 2), [3, 4], {5: 6, 7: 8})] * 100000
- p = PrettyPrinter()
- t1 = time.perf_counter()
- p._safe_repr(object, {}, None, 0, True)
- t2 = time.perf_counter()
- p.pformat(object)
- t3 = time.perf_counter()
- print("_safe_repr:", t2 - t1)
- print("pformat:", t3 - t2)
-
def _wrap_bytes_repr(object, width, allowance):
current = b''
last = len(object) // 4 * 4
@@ -666,6 +653,3 @@ def _wrap_bytes_repr(object, width, allowance):
current = candidate
if current:
yield repr(current)
-
-if __name__ == "__main__":
- _perfcheck()
diff --git a/Misc/NEWS.d/next/Library/2022-07-06-21-24-03.gh-issue-92546.s5Upkh.rst b/Misc/NEWS.d/next/Library/2022-07-06-21-24-03.gh-issue-92546.s5Upkh.rst
new file mode 100644
index 0000000000000..0ea676ef5b0d8
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-07-06-21-24-03.gh-issue-92546.s5Upkh.rst
@@ -0,0 +1,2 @@
+An undocumented ``python -m pprint`` benchmark is moved into ``pprint``
+suite of pyperformance. Patch by Oleg Iarygin.
More information about the Python-checkins
mailing list