GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing pyperformance.readthedocs.io — Benchmarks — Python Performance Benchmark Suite 1.14.0 documentation Benchmarks¶Also see Custom Benchmarks regarding how to create your own benchmarks or use someone else’s. Available Groups¶Like individual benchmarks (see “Available benchmarks” below), benchmarks group
are allowed after the -b option. Use Available benchmark groups:
Use the Available Benchmarks¶In pyperformance 0.5.5, the following microbenchmarks have been removed because they are too short, not representative of real applications and are too unstable.
2to3¶Run the 2to3 tool on the Run the Note Files are called async_tree¶Async workload benchmark, which calls
These benchmarks also have an “eager” flavor that uses asyncio eager task factory, if available. base64¶Benchmark the
Available benchmarks:
See the base64 module. btree¶Benchmark a pure-Python implementation of a B-tree data structure. The tree is created with a relatively large number of nodes (default is 200,000). This attempts to simulate an application that operates on a large number of objects in memory (at least, large compared to other benchmarks currently in this suite). There are two variations of this benchmark: btree records the time to create the B-tree, run gc.collect() and then do some operations on it; the btree_gc_only variant records only the time to run gc.collect() and it skips the operations after creation. Note that this benchmark does not create any reference cycles that the garbage collector will need to break to free memory. chameleon¶Render a template using the See the chaos¶Create chaosgame-like fractals. Command lines options: --thickness THICKNESS Thickness (default: 0.25) --width WIDTH Image width (default: 256) --height HEIGHT Image height (default: 256) --iterations ITERATIONS Number of iterations (default: 5000) --filename FILENAME.PPM Output filename of the PPM picture --rng-seed RNG_SEED Random number generator seed (default: 1234) When Copyright (C) 2005 Carl Friedrich Bolz
Image generated by bm_chaos (took 3 sec on CPython 3.5) with the command: python3 pyperformance/benchmarks/bm_chaos.py --worker -l1 -w0 -n1 --filename chaos.ppm --width=512 --height=512 --iterations 50000 crypto_pyaes¶benchmark a pure-Python implementation of the AES block-cipher in CTR mode
using the The benchmark is slower on CPython 3 compared to CPython 2.7, because CPython 3
has no more “small int” type ( See pyaes: A pure-Python implementation of the AES block cipher algorithm and the common modes of operation (CBC, CFB, CTR, ECB and OFB). deepcopy¶Benchmark the Python copy.deepcopy method. The deepcopy method is performed on a nested dictionary and a dataclass. deltablue¶DeltaBlue benchmark Ported for the PyPy project. Contributed by Daniel Lindsley This implementation of the DeltaBlue benchmark was directly ported from the V8’s source code, which was in turn derived from the Smalltalk implementation by John Maloney and Mario Wolczko. The original Javascript implementation was licensed under the GPL. It’s been updated in places to be more idiomatic to Python (for loops over
collections, a couple magic methods, django_template¶Use the Django template system to build a 150x150-cell HTML table. Use dulwich_log¶Iterate on commits of the asyncio Git repository using the Dulwich module.
Use Pseudo-code of the benchmark: repo = dulwich.repo.Repo(repo_path) head = repo.head() for entry in repo.get_walker(head): pass See the Dulwich project. docutils¶Use Docutils to convert Docutils’ documentation to HTML. Representative of building a medium-sized documentation set. fannkuch¶The Computer Language Benchmarks Game: http://benchmarksgame.alioth.debian.org/ Contributed by Sokolov Yura, modified by Tupteq. float¶Artificial, floating point-heavy benchmark originally used by Factor. Create 100,000 point objects which compute Changed in version 0.5.5: Use genshi¶Render a template using Genshi (
See the Genshi project. go¶Artificial intelligence playing the Go board game. Use Zobrist hashing. hexiom¶Solver of Hexiom board game (level 25 by default). Command line option: --level {2,10,20,25,30,36} Hexiom board level (default: 25) hg_startup¶Get Mercurial’s help screen. Measure the performance of the The See the Mercurial project. html5lib¶Parse the On CPython, after 3 warmups, the benchmarks enters a cycle of 5 values: every 5th value is 10% slower. Plot of 1 run of 50 values (the warmup is not rendered):
See the html5lib project. json_dumps, json_loads¶Benchmark
--cases CASES Comma separated list of cases. Available cases: EMPTY, SIMPLE, NESTED, HUGE. By default, run all cases. logging¶Benchmarks on the
Script command line option: format silent simple See the logging module. mako¶Use the Mako template system to build a 150x150-cell HTML table. Includes:
See the Mako project. mdp¶Battle with damages and topological sorting of nodes in a graph. See Topological sorting. meteor_contest¶Solver for Meteor Puzzle board. Meteor Puzzle board: http://benchmarksgame.alioth.debian.org/u32/meteor-description.html#meteor The Computer Language Benchmarks Game: http://benchmarksgame.alioth.debian.org/ Contributed by Daniel Nanz, 2008-08-21. nbody¶N-body benchmark from the Computer Language Benchmarks Game. Microbenchmark on floating point operations. This is intended to support Unladen Swallow’s perf.py. Accordingly, it has been modified from the Shootout version:
Pulled from: http://benchmarksgame.alioth.debian.org/u64q/program.php?test=nbody&lang=python3&id=1 Contributed by Kevin Carson. Modified by Tupteq, Fredrik Johansson, and Daniel Nanz. python_startup, python_startup_nosite¶
Run the benchmark with nqueens¶Simple, brute-force N-Queens solver. See Eight queens puzzle. pathlib¶Test the performance of operations of the This benchmark stresses the creation of small objects, globbing, and system calls. See the documentation of the pathlib module. pickle¶pickle benchmarks (serialize):
unpickle benchmarks (deserialize):
pidigits¶Calculating 2,000 digits of π. This benchmark stresses big integer arithmetic. Command line option: --digits DIGITS Number of computed pi digits (default: 2000) Adapted from code on: http://benchmarksgame.alioth.debian.org/ pyflate¶Benchmark of a pure-Python bzip2 decompressor: decompress the
Copyright 2006–2007-01-21 Paul Sladen: http://www.paul.sladen.org/projects/compression/ You may use and distribute this code under any DFSG-compatible license (eg. BSD, GNU GPLv2). Stand-alone pure-Python DEFLATE (gzip) and bzip2 decoder/decompressor. This is probably most useful for research purposes/index building; there is certainly some room for improvement in the Huffman bit-matcher. With the as-written implementation, there was a known bug in BWT decoding to do with repeated strings. This has been worked around; see ‘bwt_reverse()’. Correct output is produced in all test cases but ideally the problem would be found… raytrace¶Simple raytracer. Command line options: --width WIDTH Image width (default: 100) --height HEIGHT Image height (default: 100) --filename FILENAME.PPM Output filename of the PPM picture This file contains definitions for a simple raytracer. Copyright Callum and Tony Garnock-Jones, 2008. This file may be freely redistributed under the MIT license, http://www.opensource.org/licenses/mit-license.php From https://leastfixedpoint.com/tonyg/kcbbs/lshift_archive/toy-raytracer-in-python-20081029.html
Image generated by the command (took 68.4 sec on CPython 3.5): python3 pyperformance/benchmarks/bm_raytrace.py --worker --filename=raytrace.ppm -l1 -w0 -n1 -v --width=800 --height=600 regex_compile¶Stress the performance of Python’s regex compiler, rather than the regex execution speed. Benchmark how quickly Python’s regex implementation can compile regexes. We bring in all the regexes used by the other regex benchmarks, capture them by stubbing out the re module, then compile those regexes repeatedly. We muck with the re module’s caching to force it to recompile every regex we give it. regex_dna¶regex DNA benchmark using “fasta” to generate the test case. The Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/ regex-dna Python 3 #5 program: contributed by Dominique Wahli 2to3 modified by Justin Peel fasta Python 3 #3 program: modified by Ian Osgood modified again by Heinrich Acker modified by Justin Peel Modified by Christopher Sean Forgeron regex_effbot¶Some of the original benchmarks used to tune mainline Python’s current regex engine. regex_v8¶Python port of V8’s regex benchmark. Automatically generated on 2009-01-30. This benchmark is generated by loading 50 of the most popular pages on the web and logging all regexp operations performed. Each operation is given a weight that is calculated from an estimate of the popularity of the pages where it occurs and the number of times it is executed while loading each page. Finally the literal letters in the data are encoded using ROT13 in a way that does not affect how the regexps match their input. Ported to Python for Unladen Swallow. The original JS version can be found at https://github.com/v8/v8/blob/master/benchmarks/regexp.js, r1243. richards¶The classic Python Richards benchmark. Based on a Java version. Based on original version written in BCPL by Dr Martin Richards in 1981 at Cambridge University Computer Laboratory, England and a C++ version derived from a Smalltalk version written by L Peter Deutsch. Java version: Copyright (C) 1995 Sun Microsystems, Inc. Translation from C++, Mario Wolczko Outer loop added by Alex Jacoby scimark¶
spectral_norm¶MathWorld: “Hundred-Dollar, Hundred-Digit Challenge Problems”, Challenge #3. http://mathworld.wolfram.com/Hundred-DollarHundred-DigitChallengeProblems.html The Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/u64q/spectralnorm-description.html#spectralnorm Contributed by Sebastien Loisel. Fixed by Isaac Gouy. Sped up by Josh Goldfoot. Dirtily sped up by Simon Descarpentries. Concurrency by Jason Stitt. sqlalchemy_declarative, sqlalchemy_imperative¶
See the SQLAlchemy project. sqlite_synth¶Benchmark Python aggregate for SQLite. The goal of the benchmark (written for PyPy) is to test CFFI performance and going back and forth between SQLite and Python a lot. Therefore the queries themselves are really simple. See the SQLite project and the Python sqlite3 module (stdlib). sympy¶Benchmark on the
On CPython, some $ python3 -m pyperf dump sympy_sum.json Run 1: 1 warmup, 50 values, 1 loop - warmup 1: 404 ms (+63%) - value 1: 244 ms - value 2: 245 ms - value 3: 258 ms <---- - value 4: 245 ms - value 5: 245 ms - value 6: 279 ms (+12%) <---- - value 7: 246 ms - value 8: 244 ms - value 9: 245 ms - value 10: 255 ms <---- - value 11: 245 ms - value 12: 245 ms - value 13: 256 ms <---- - value 14: 248 ms - value 15: 245 ms - value 16: 245 ms ... Plot of 1 run of 50 values (the warmup is not rendered):
See the sympy project. telco¶Telco Benchmark for measuring the performance of decimal calculations:
The Python benchmark is implemented with the See the Python decimal module (stdlib). tornado_http¶Benchmark HTTP server of the See the Tornado project. unpack_sequence¶Microbenchmark for unpacking lists and tuples. Pseudo-code: a, b, c, d, e, f, g, h, i, j = to_unpack where xml_etree¶Benchmark the
|
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |