diff --git a/README.md b/README.md index 62c8c3b..da5b1ab 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # mcparallelDo [![License](http://img.shields.io/badge/license-GPL%20%28%3E=%202%29-brightgreen.svg?style=flat)](http://www.gnu.org/licenses/gpl-2.0.html)[![Travis-CI Build Status](https://travis-ci.org/drknexus/mcparallelDo.svg?branch=master)](https://travis-ci.org/drknexus/mcparallelDo)[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/mcparallelDo)](http://cran.r-project.org/package=mcparallelDo) A Simplified Interface for Running Commands on Parallel Processes. -`mcparallelDo` wraps mcparallel() and mccollect() from 'parallel' with temporary variables and a task handler. Wrapped in this way the results of an mcparallel() call can be returned to the R session when the fork is complete without explicitly issuing a specific mccollect() to retrieve the value. Outside of top-level tasks, multiple mcparallel() jobs can be retrieved with a single call to mcparallelDoCheck(). +`mcparallelDo` wraps mcparallel() and mccollect() from 'parallel' with temporary variables and a task handler. Wrapped in this way the results of an mcparallel() call can be returned to the R session when the fork is complete without explicitly issuing a specific mccollect() to retrieve the value. Outside of top-level tasks, multiple mcparallel() jobs can be retrieved with a single call to mcparallelDoCheck(). [A *warning*, like a regular fork these functions do not currently return warnings, only errors](https://github.com/drknexus/mcparallelDo/issues/1). **NOTE:** Given that Windows does not support parallalism through forks, the R base functions `mcparallel` and `mccollect` do not work. Therefore, although `mcparallelDo` will work on windows and pass through commands to be evaluated, it has no meaningful effect on Windows. +# Purpose +In an interactive session one may be blocked in performing additional work by waiting for a model fit. It is cumbersome to launch an `mcparallel` fork to perform the work and the manually collect the result via `mccollect`. Specfically, one is left uncertain about when the work might be completed, requiring either some blocking due to the use of `wait = TRUE` or some inconvience by repeatedly running mccollect every now and again to see if the computation has finished. + # Dependencies * parallel (for forking functions)