On Thu, Aug 30, 2012 at 7:11 PM, dexen deVries <dexen.devr...@gmail.com> wrote: > On Thursday 30 of August 2012 15:35:47 Dan Cross wrote: >> (...) >> Your example of running multiple 'grep's in parallel sort of reminded >> me of this, though it occurs to me that this can probably be done with >> a command: a sort of 'parallel apply' thing that can run a command >> multiple times concurrently, each invocation on a range of the >> arguments. But making it simple and elegant is likely to be tricky. > > now that i think of it... > > mk creates DAG of dependences and then reduces it by calling commands, going > in parallel where applicable. > > erik's example with grep x *.[ch] boils down to two cases: > - for single use, do it simple & slow way -- just run single grep process for > all files > - but when you expect to traverse those files often, prepare a mkfile > (preferably in a semi-automatic way) which will perform search in parallel. > > caveat: output of one grep instance could end up in the midst of a /line/ of > output of another grep instance.
The thing is that mk doesn't really do anything to set up connections between the commands it runs.