[Issue 9673] Add --incremental option to rdmd

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Mar 11 10:19:44 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=9673



--- Comment #8 from Andrei Alexandrescu <andrei at erdani.com> 2013-03-11 10:19:42 PDT ---
(In reply to comment #2)
> (In reply to comment #0)
> > 4. Invoke dmd once per .d file, producing object files (only for object files
> > that are out of date). Invocations should be runnable in parallel, but this may
> > be left as a future enhancement.
> > 
> It should cluster the source files by common dependencies so to avoid the
> parsing and semantic analysis overhead of the blunt parallel approach. I think
> a simple k-means clustering would suffice for this, k would be the number of
> parallel jobs.

Great idea, although we'd need to amend things. First, the graph is directed
(not sure whether k-means clustering is directly applicable to directed graphs,
a cursory search suggests it doesn't).

Second, for each node we don't have the edges, but instead all paths (that's
what dmd -v generates). So we can take advantage of that information. A simple
thought is to cluster based on the maximum symmetric difference between module
dependency sets, i.e. separately compile modules that have the most mutually
disjoint dependency sets.

Anyhow I wouldn't want to get too bogged down into details at this point -
first we need to get the appropriate infrastructure off the ground.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list