Fork child processes to perform work on multiple cores
ForkWork is intended for workloads that a master process can partition
into independent jobs, each of which will typically take a while to
execute (several seconds, or more). Also, the resulting values should
not be too massive, since they must be marshalled for transmission
back to the master process.
Among the numerous tools for multicore parallelism available in the
OCaml ecosystem, ForkWork fits somewhere in between Netmcore and
Parmap. It's a bit easier to use than the former, and a bit more
flexible than the latter.