Skip to content

Tables: Workloads

Michael Droettboom edited this page Jun 2, 2022 · 6 revisions

See the benchmarking page for a discussion about Python workloads and benchmarks.

Top-level Workloads

workload category ...
Web Workloads used in typical server-side web applications
Image rasterization Generating images from a vector form
Cryptography Calculating cryptographic hashes and ciphers
Commandline Workloads import to cli apps, such as application startup
Numeric Numeric workloads (in pure Python, without common numeric libraries)
Puzzles Puzzles, often derived from standard cross-language benchmarks, often exercising graph-like data structures

Sub-workloads

Web workload

sub-workload ...
Template rendering Rendering HTML using a template language
HTML parsing Parsing HTML content
JSON handling Time to serialize and deserialize JSON
Regular expressions Common regular expression uses for web applications
Database Common database workloads in web applications
HTTP server Cost of serving HTTP requests

workload Y

sub-workload ...

Stdlib Applications

The Python stdlib includes a number of tools (applications) which can be matched, respectively, to a workload. We can use them as examples:

  • json.tool - ...
  • 2to3 - Migrates Python 2 to Python 3 source code. (Deprecated in Python 3.11, to be removed in 3.13)

pyperformance Benchmarks

(These "workload" benchmarks are all considered macro benchmarks.)

workload benchmark description
2to3 2to3 Runs the 2to3 tool over 9 files from the Django 1.1.4 source code
Template rendering chameleon Renders a large HTML table using the chameleon template library
django_template Renders a large HTML table using the django_template library
genshi_template Renders a large HTML template using the genshi library
mako Renders a large HTML table using the mako library
HTML parsing html5lib Time to parse an HTML file using html5lib
JSON handling json_dumps Time to dump JSON
json_loads Time to load JSON
Regular expressions regex_v8 A benchmark derived from regular expressions used on popular webpages
Database sqlalchemy_declarative
sqlalchemy_imperative
sqlite_synth
HTTP Server tornado
Image rasterization chaos Generates an image from splines
raytrace Simple raytracer
Cryptography crypto_pyaes Calculate AES block cipher using the pyaes library
Commandline hg_startup Measure the time to get the output of Mercurial's hg help
python_startup Measure python startup time
python_startup_nosite Measure python startup time without importing the site module
Numeric scimark_sor Successive over-relaxation benchmark
scimark_sparse_mat_mult Sparse matrix multiplication benchmark
scimark_monte_carlo Benchmark on the Monte Carlo algorithm to compute the area of a disc
scimark_lu LU decomposition benchmark
scimark_fft FFT benchmark
spectral_norm
sympy_*
Puzzles deltablue An implementation of the deltablue constraint-solving algorithm
fannkuch A permutation flipping game
go AI playing Go board game, using Zobrist hashing approach
hexiom Solver of the Hexiom board game
mdp Battle with damages and topological sorting of nodes in a graph
meteor_contest Solver for Meteor Puzzle board
nbody nbody benchmark from Computer Language Benchmarks Game
nqueens Simple, brute-force N-queens solver
richards

The dominant features in those benchmarks are enumerated on the features page.

Also see the per-benchmark tables.

Clone this wiki locally