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
This commit is contained in:
Oleg Iarygin 2022-07-25 21:30:13 +03:00 committed by GitHub
parent 4e704d7847
commit c5140945c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 16 deletions

View file

@ -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()

View file

@ -0,0 +1,2 @@
An undocumented ``python -m pprint`` benchmark is moved into ``pprint``
suite of pyperformance. Patch by Oleg Iarygin.