* Run it in the current process, but on a different thread. (This strategy is impossible for R code, but you can run C/C++ code on a different thread, even in an R process.)
* Launch a separate R process and pass it the R code to evaluate.
* Fork the R process and run the code in the child process. (Doesn’t work on Windows.)
* Farm the code out to a pre-allocated cluster of R processes, either on the same machine or distributed across a network.
So I am reading this vignette of the promise package of R:
https://cran.r-project.org/web/packages/promises/vignettes/overview.html
In the quoted 4 bullet points, I don't see how the last 3, which all involve starting up new processes, are different from one another? Can you explain how forking is different from pre-allocated cluster of processes, for example?