memshare: Memory Sharing for Multicore Computation in R with an Application to Feature Selection by Mutual Information using PDE
We present memshare, a package that enables shared-memory multicore computation in R by allocating buffers in C++ shared memory and exposing them to R through ALTREP views. We compare memshare to SharedObject (Bioconductor), discuss semantics and safety, and report a 2x speedup over SharedObject with no additional resident memory in a column-wise apply benchmark. Finally, we illustrate a downstream analytics use case: feature selection by mutual information, in which densities are estimated per feature via Pareto Density Estimation (PDE). The analytical use case is an RNA-seq dataset consisting of N = 10,446 cases and d = 19,637 gene expression measurements, requiring roughly `n_threads` * 10GB of memory in the case of using parallel R sessions. Such and larger use cases are common in big data analytics and make R feel limiting, which is mitigated by the library presented in this work.
Authors
- Michael C. Thrun (ORCID: https://orcid.org/0000-0001-9542-5543)
- Julian Märte (ORCID: https://orcid.org/0000-0001-5451-1023)
Institutions
- Philipps University of Marburg (DE)
- Intelligent Software Solutions (United States) (US)
Publication Details
- Journal
- The R Journal
- Published
- 2026-02-04
- DOI
- https://doi.org/10.32614/rj-2025-043
- Primary Topic
- Data Analysis with R
- Type
- article
- Field-Weighted Citation Impact
- 0.00