Parallel Distance Matrix Computation using Multiple Threads
Overview
A fast parallelized alternative to R's native 'dist' function to calculate distance matrices for continuous, binary, and multi-dimensional input matrices, which supports a broad variety of 41 predefined distance functions from the 'stats', 'proxy' and 'dtw' R packages, as well as user- defined functions written in C++. For ease of use, the 'parDist' function extends the signature of the 'dist' function and uses the same parameter naming conventions as distance methods of existing R packages. The package is mainly implemented in C++ and leverages the 'RcppParallel' package to parallelize the distance computations with the help of the 'TinyThread' library. Furthermore, the 'Armadillo' linear algebra library is used for optimized matrix operations during distance calculations. The curiously recurring template pattern (CRTP) technique is applied to avoid virtual functions, which improves the Dynamic Time Warping calculations while the implementation stays flexible enough to support different DTW step patterns and normalization methods.
- Removed C++11 dependency to support newer Armadillo versions
From inst/NEWS.Rd in the release
Install
Health
NOTER code for possible problemsr-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64
Found calls to structure() using deprecated special names: parallelDist/tests/testthat/testMatrixListDTWDistances.R (.Dim: 8) parallelDist/inst/doc/parallelDist.R (.Label: 1, .Names: 1) '.Dim' should be changed to 'dim'. '.Label' should be changed to 'levels'. '.Names' should be changed to 'names'.
- NOTE8 OK, 5 NOTENow
- NOTE11 OK, 2 NOTE2026-07-16
- OK14 OK2026-04-22
- ERROR13 OK, 1 ERROR2026-04-18
- OK14 OK2026-03-10
Documentation
- Help pages
- 1
- Examples that run
- 0%1 never run
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 76%
- Median days to close, 50 most recently updated closed issues
- 4
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
5 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/alexeckert/paralleldist on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
Funding links: GitHub Sponsors, Ko-fi
The repository owner accepts GitHub Sponsors
Dependencies
Installing parallelDist adds 3 packages (3 with compiled code, 3.5 MB of source tarballs). Heaviest: Rcpp 1.8 MB, RcppArmadillo 1.0 MB, RcppParallel 744 KB.
Show all 20 packagesHide all 20 packages
Code & Tests
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 0.2.7Latest
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- 0.2.62022-02-04 · diff ↗
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- 0.2.42018-12-12 · diff ↗
- 0.2.32018-12-12 · diff ↗
- 0.2.22018-09-24 · diff ↗
- RR 3.5.0 released · 2018-04-23
- 0.2.12017-12-05 · diff ↗
- 0.2.02017-09-27 · diff ↗
Package metadata
- First published
- 2017-06-06
- Total releases
- 9 / 9 yrs
- License
- GPL (>= 2) OSI
- Minimum R
- ≥ 3.0.2
- Download size
- 332 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("parallelDist")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.