futurize: Parallelize Common Functions via One Magic Function

The futurize() function transpiles calls to sequential map-reduce functions such as base::lapply(), purrr::map(), 'foreach::foreach() %do% { ... }' into concurrent alternatives, providing you with a simple, straightforward path to scalable parallel computing via the 'future' ecosystem <doi:10.32614/RJ-2021-048>. By combining this function with R's native pipe operator, you have a convenient way for speeding up iterative computations with minimal refactoring, e.g. 'lapply(xs, fcn) |> futurize()', 'purrr::map(xs, fcn) |> futurize()', and 'foreach::foreach(x = xs) %do% { fcn(x) } |> futurize()'. Other map-reduce packages that can be "futurized" are 'BiocParallel', 'plyr', 'crossmap', 'pbapply' packages. There is also support for a growing set of domain-specific packages (e.g. CRAN package 'boot', 'caret', 'fgsea', 'fwb', 'gamlss', 'glmmTMB', 'glmnet', 'kernelshap', 'lme4', 'metafor', 'mgcv', 'partykit', 'riskRegression', 'seriation', 'shapr', 'SimDesign', 'strucchange', 'tm', 'TSP', and 'vegan') and Bioconductor packages (e.g. 'DESeq2', 'GenomicAlignments', 'GSVA', 'Rsamtools', 'scater', 'scuttle', 'SingleCellExperiment', and 'sva').

Version: 0.2.0
Depends: R (≥ 4.1.0), future (≥ 1.69.0)
Imports: utils
Suggests: methods, future.apply (≥ 1.20.2), foreach, doFuture (≥ 1.2.1), purrr, furrr, crossmap, plyr, pbapply, BiocParallel, boot, caret, randomForest, DESeq2, fgsea, GenomicAlignments, Rsamtools, fwb, gamlss, glmmTMB, glmnet, GSVA, kernelshap, lme4, metafor, mgcv, partykit, riskRegression, scater, scuttle, SingleCellExperiment, sva, seriation, SimDesign, shapr, strucchange, tm, vegan, tools, commonmark, base64enc
Published: 2026-03-18
DOI: 10.32614/CRAN.package.futurize
Author: Henrik Bengtsson [aut, cre, cph]
Maintainer: Henrik Bengtsson <henrikb at braju.com>
License: GPL (≥ 3)
URL: https://futurize.futureverse.org, https://github.com/futureverse/futurize
NeedsCompilation: no
Language: en-US
Citation: futurize citation info
Materials: README, NEWS
In views: HighPerformanceComputing
CRAN checks: futurize results

Documentation:

Reference manual: futurize.html , futurize.pdf
Vignettes: Parallelize base-R apply functions (source)
Parallelize 'purrr' functions (source)
Parallelize 'crossmap' functions (source)
Parallelize 'plyr' functions (source)
Parallelize 'foreach' functions (source)
Parallelize 'pbapply' functions (source)
Parallelize 'BiocParallel' functions (source)
Parallelize 'DESeq2' functions (source)
Parallelize 'GSVA' functions (source)
Parallelize 'GenomicAlignments' functions (source)
Parallelize 'Rsamtools' functions (source)
Parallelize 'SimDesign' functions (source)
Parallelize 'SingleCellExperiment' functions (source)
Parallelize 'TSP' functions (source)
Parallelize 'boot' functions (source)
Parallelize 'caret' functions (source)
Parallelize 'fgsea' functions (source)
Parallelize 'fwb' functions (source)
Parallelize 'gamlss' functions (source)
Parallelize 'glmmTMB' functions (source)
Parallelize 'glmnet' functions (source)
Parallelize 'kernelshap' functions (source)
Parallelize 'lme4' functions (source)
Parallelize 'metafor' functions (source)
Parallelize 'mgcv' functions (source)
Parallelize 'partykit' functions (source)
Parallelize 'riskRegression' functions (source)
Parallelize 'scater' functions (source)
Parallelize 'scuttle' functions (source)
Parallelize 'seriation' functions (source)
Parallelize 'shapr' functions (source)
Parallelize 'strucchange' functions (source)
Parallelize 'sva' functions (source)
Parallelize 'tm' functions (source)
Parallelize 'vegan' functions (source)

Downloads:

Package source: futurize_0.2.0.tar.gz
Windows binaries: r-devel: futurize_0.2.0.zip, r-release: futurize_0.1.0.zip, r-oldrel: futurize_0.1.0.zip
macOS binaries: r-release (arm64): futurize_0.1.0.tgz, r-oldrel (arm64): futurize_0.2.0.tgz, r-release (x86_64): futurize_0.1.0.tgz, r-oldrel (x86_64): futurize_0.2.0.tgz
Old sources: futurize archive

Reverse dependencies:

Reverse imports: futureverse

Linking:

Please use the canonical form https://CRAN.R-project.org/package=futurize to link to this page.