A performance patch release. Byte-identical output to 2.3.0 β no changes to behavior, CLI, index format, or outputs.
Faster mapping hot path
Folds in three profiling-guided, behavior-preserving optimizations across the COMBINE-lab Rust stack, all targeting per-read / per-candidate setup cost on the default selective-alignment mapping path:
align_chainquery reuse + DNA5 LUT (#1042, @BenjaminDEMAILLE) β reuse a thread-local oriented-query buffer instead of allocating per candidate, and a 256-entry lookup table for DNA5 encoding.ReadKmerItersetup halved (piscem-rs0.6.2) β derive the reverse-complement k-mer word from the forward word viareverse_bitsinstead of a second base-by-base pass, and drop a redundant first-k-1pre-scan.- Elias-Fano boundary-offset caching (
sshash-lib0.6.1) βlocate_with_endcaches the two boundary offsets during its scan (~half the Elias-Fano selects per locate).
Measured on x86_64 (default selective-alignment mapping): ~2.5% faster single-threaded, neutral at high thread counts (memory-bandwidth bound); larger gains on Apple silicon. Output is byte-identical β verified selective-alignment and sketch quant.sf unchanged versus 2.3.0.
Thanks to @BenjaminDEMAILLE for the profiling pass and the companion PRs.
Install salmon-cli 2.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/salmon/releases/download/v2.3.1/salmon-cli-installer.sh | shDownload salmon-cli 2.3.1
| File | Platform | Checksum |
|---|---|---|
| salmon-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| salmon-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| salmon-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| salmon-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |