Don, just so you know, I've been thinking for a while about
transitioning from doing the semantic pass in order to doing it
completely "on demand". In other words, try to semantic a declaration.
In the process, any declarations it depends on are semantic'd if not
already, recursively.
I've been wondering for quite some time about how one could leverage the D
module system to properly parallelize D compilation.
(Of course I'm not speaking about the crappy C way of compiling modules
separately with make -j where everything is processed umpteen times)
I think lexing and parsing could be done in parallel without problems?!
Semantic analysis is the tough part but one could probably consider the
import graph and process all the sinks, i.e. modules that only import
modules already processed or no modules, in parallel and then start a new
iteration?!
Now I wonder how that would interact with the proposed on-demand semantic
analysis.
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals