Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Benchmarks

Every performance and equivalence figure in this documentation comes from bwa-mem3-bench, a public benchmarking suite that runs bwa-mem3 alongside bwa, bwa-mem2 v2.2.1, minibwa and bwameth on AWS instances across the x86 AVX2, x86 AVX-512 and Arm NEON SIMD tiers. Each release candidate is run through its full matrix before being blessed. Other pages cite this one instead of linking to the suite directly.

Published results

  • Results for each release: the latest release’s same-host speed against bwa, bwa-mem2 and minibwa, then per release:
    • speed, memory and CPU efficiency on each dataset across six instance types;
    • agreement with bwa-mem2 (and bwameth for methylation), with the previous release, between Arm and x86, and between --fast and the default preset;
    • accuracy against simulated reads with known origins;
    • thread scaling from 1 to 64 threads.
  • Methodology: how the numbers are produced, which host each measurement ran on, and which tags each agreement check ignores.

The headline speed table in the README comes from the same same-host runs.

Datasets

datasetdescription
wgs-5MWhole genome, 1000 Genomes HG00096, 5M read pairs
wes-5MWhole exome, 1000 Genomes HG00100, 5M read pairs
panel-agilent-qxt-5MAgilent SureSelect QXT hereditary-cancer panel, 5M read pairs (earlier releases used a Twist panel, panel-twist-5M)
hic-1MHG002 Hi-C, 1M read pairs
sbx-1MHG002 Roche SBX, ~1M single-end reads
meth-twist-emseq-5MTwist EM-seq methylation, 5M read pairs
sim-wgs-*, sim-meth-*Reads simulated from GRCh38 with known origins, for accuracy

All are aligned to GRCh38 (the hg38 analysis set with decoys and ALTs) with 16 threads. Where to obtain each input is documented in the suite’s data-setup guide.

Release validation

Each release candidate runs the full matrix and must pass three gates before it is blessed as the new reference (“golden”) for the next release:

  1. vs the baseline aligner: drift stays within each dataset’s budget in the expected-divergence registry (see Equivalence with bwa-mem2). DNA datasets are scored on concordance against bwa-mem2 v2.2.1; methylation datasets on confident relocation against bwameth (the share of primaries either aligner maps at MAPQ ≥ 20 that the two place at a different locus).
  2. vs the previous release: at least 99.999% concordance on every cell that has a previous-release result. An intended alignment change is recorded in the release’s entry in the release ledger, which is required to promote the release; the entry does not relax this check.
  3. Thread scaling: pipeline efficiency does not regress.

The suite’s release runbook is the full procedure; the release process page covers the bwa-mem3 side.

Earlier one-off measurements

Per-release concordance history

Per-(release, sample) primary-alignment concordance against upstream bwa-mem2 v2.2.1 (bwameth.py for the methylation samples), with supplementary-alignment counts, for the bwa-mem3 releases shown below. Concordance is the minimum vs-baseline value over reps and x86 architectures (deterministic per sample); supp_query/supp_baseline are total supplementary records emitted by bwa-mem3 and the baseline, and count_mismatch is the number of templates whose supplementary count differs. The divergence catalog explains what each kind of drift is and its budget. The suite’s methodology lists the instance types behind each architecture and the SIMD path each one runs.

This table and the divergence catalog are generated from the benchmark database; do not edit them by hand. After a new release is collected, regenerate both and replace the content between the FG-DIVERGENCE-CATALOG / FG-RELEASE-TABLE markers.

releasesampleconcordance_%supp_querysupp_baselinecount_mismatch
v0.2.0meth-twist-emseq-5M98.8852000
v0.2.0panel-twist-5M100.00001869461869460
v0.2.0smoke-1M100.0000145514550
v0.2.0smoke-meth98.8573000
v0.2.0wes-5M100.0000511851180
v0.2.0wgs-5M100.000049686496860
v0.2.1meth-twist-emseq-5M98.8852000
v0.2.1panel-twist-5M100.00001869461869460
v0.2.1smoke-1M100.0000145514550
v0.2.1smoke-meth98.8573000
v0.2.1wes-5M100.0000511851180
v0.2.1wgs-5M100.000049686496860
v0.2.2meth-twist-emseq-5M98.8773000
v0.2.2panel-twist-5M99.9414187039186946199
v0.2.2smoke-1M99.9460000
v0.2.2smoke-meth98.8429000
v0.2.2wes-5M99.9996512351185
v0.2.2wgs-5M99.98934992649686256

See also: Performance Overview · SIMD dispatch matrix · Equivalence with bwa-mem2 · Release process