Given a top file of a computer program composed of many modules, automatically figure out the dependencies and compile them as much as possible in parallel. This could have a very complicated parallelization pattern.
A directed graph. Not necessarily acyclic, though it'll depend on the language exactly what to do about a cyclic chain of dependencies. Perhaps emit an error message.
As the worst case, let the task of determining the direct dependencies of a given module be Turing-complete, perhaps a Turing-complete preprocessing language. Perhaps speculation to avoid bottlenecks, though it requires rolling back if guessing wrong.
No comments :
Post a Comment