Application-Oriented Performance Benchmarks for Quantum Computing
This repository contains a collection of prototypical application- or algorithm-centric benchmark programs designed for characterizing the end-user perception of the performance of current-generation Quantum Computers.
The repository is maintained by members of the Quantum Economic Development Consortium (QED-C) Technical Advisory Committee on Standards and Performance Metrics (Standards TAC).
Important Note: The examples maintained in this repository are not intended to be viewed as "performance standards". Rather, they are offered as simple "prototypes", designed to make it as easy as possible for users to execute simple "reference applications" across multiple quantum computing APIs and platforms.
Quick Start
Install and run a standard set of benchmarks on a local simulator:
pip install qedcbench
python -m qedcbench.run_all
This runs 5 benchmarks (Hidden Shift, Bernstein-Vazirani, QFT, Phase Estimation, Amplitude Estimation) from 2 to 8 qubits and displays a combined volumetric positioning plot at the end.
Customize the run
python -m qedcbench.run_all -b ibm_sherbrooke -max 6 -s 100 # IBM hardware
python -m qedcbench.run_all -b ionq -max 6 # IonQ (requires QISKIT_IONQ_API_TOKEN)
python -m qedcbench.run_all -b iqm -max 6 # IQM (requires IQM_API_TOKEN)
python -m qedcbench.run_all --list # show all available benchmarks
python -m qedcbench.run_all --benchmarks hidden_shift,grovers # run specific benchmarks
Common arguments:
| Argument | Short | Description | Default |
|---|---|---|---|
--api |
-a |
Quantum SDK (qiskit, cudaq) |
qiskit |
--backend_id |
-b |
Backend name | qasm_simulator |
--min_qubits |
-min |
Minimum circuit width | 2 |
--max_qubits |
-max |
Maximum circuit width | 8 |
--max_circuits |
-c |
Circuits per qubit group | 3 |
--num_shots |
-s |
Shots per circuit | 100 |
Run individual benchmarks
After installing, you can also run benchmarks individually:
cd qedcbench/hidden_shift
python hs_benchmark.py --api qiskit --min_qubits 2 --max_qubits 8
Cloning the Repository
For full access to source code, notebooks, and the ability to modify benchmarks:
git clone https://github.com/SRI-International/QC-App-Oriented-Benchmarks.git
cd QC-App-Oriented-Benchmarks
pip install -e .
This installs both packages in editable mode — changes to .py files take effect immediately. The repository includes Jupyter notebooks for interactive exploration:
cd qedcbench
jupyter notebook benchmarks-qiskit.ipynb
Note: If you have existing code that depends on the v1.x repository structure, use branch master-260411-v1.2.2 for compatibility. See the User Guide for migration details.
Documentation
Full Documentation Site — User guide, benchmark descriptions, qedclib API reference, and setup guides.
| Document | Description |
|---|---|
| User Guide | Complete reference for running benchmarks |
| Benchmarks | All 17 benchmarks with algorithm descriptions |
| qedclib Guide | Execution engine API, metrics, and backend configuration |
| Quick Start | First-time setup walkthrough |
| Release Notes | Version history and changes |
| PAL | Problems, Anomalies, and Limitations |
| About | Project background, structure, and credits |
| Setup Guides | Platform-specific installation (Qiskit, CUDA-Q, etc.) |
Standalone execution engine: pip install qedclib — use the execution and metrics library in your own projects without the benchmarks. See qedclib on PyPI.
Benchmark Complexity Levels
Level 1: Deutsch-Jozsa, Bernstein-Vazirani, Hidden Shift
Level 2: Quantum Fourier Transform, Grover's Search
Level 3: Phase Estimation, Amplitude Estimation, HHL Linear Solver
Level 4: Monte Carlo, Hamiltonian Simulation, HamLib, VQE, Shor's Algorithm
Level 5: MaxCut, Hydrogen Lattice, Image Recognition
Publications
Application-Oriented Performance Benchmarks for Quantum Computing (Oct 2021)
Optimization Applications as Quantum Performance Benchmarks (Feb 2023)
Quantum Algorithm Exploration using Application-Oriented Performance Benchmarks (Feb 2024)
A Practical Framework for Assessing the Performance of Observable Estimation in Quantum Simulation (Apr 2025)
Platform-Agnostic Modular Architecture for Quantum Benchmarking (2025)
Implementation Status
© 2025 Quantum Economic Development Consortium (QED-C). All Rights Reserved.
Metadata
Release files for qedcbench 2.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qedcbench-2.0.8.tar.gz | 5.2 MB | Without provenance | Details for qedcbench-2.0.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qedcbench-2.0.8-py3-none-any.whl | Python 3 | none | any | Details for qedcbench-2.0.8-py3-none-any.whl |
Total release size: 10.8 MB
Release files / qedcbench-2.0.8.tar.gz
| Download URL | qedcbench-2.0.8.tar.gz |
|---|---|
| Size | 5.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c8a17dcb0c987735be3f018e7167567f0e259da5802db006036259b5ae99313
|
|
BLAKE2b-256 checksum How to use checksums |
262bd773ded335b4e54af8fc2f337767c7d9e0fcfea7af7e639c22621ea6ed6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Release files / qedcbench-2.0.8-py3-none-any.whl
| Download URL | qedcbench-2.0.8-py3-none-any.whl |
|---|---|
| Size | 5.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
508b9b11ddbc96cd127a82fb068a781116e843405f916ad68820c2bb00b3dcfa
|
|
BLAKE2b-256 checksum How to use checksums |
fe7de53b1641d295470a732d4ec31ad469471c97145322761168c69fe848be1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Security for qedcbench 2.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.