Would process substitution be more efficient, especially if you don't need to save the files `OutputA` and `OutputB`, and care only about `Result`? Would this be particularly time-saving because if you have a slow I/O in writing to disk, saving the files `OutputA` and `OutputB` might be the rate-limiting step?

    combine  <(somethingElse InputA)  <(somethingElse InputB)  >  Result

Process substitution allows you to put the command inside `<(..here..)` instead of saving the output into a file, and then reading from it as input in the "combine" step.

If memory is a limitation, and the size of `outputA` and `outputB` more than what the memory can hold, will it defeat the whole purpose?

Will `combine` wait till both processes are completed before it starts running?