"Jacob Carlborg" <[email protected]> wrote in message news:[email protected]... > On 2011-06-20 21:32, Nick Sabalausky wrote: >> "Jacob Carlborg"<[email protected]> wrote in message >> news:[email protected]... >>> On 2011-06-19 20:31, Nick Sabalausky wrote: >>>> "Jacob Carlborg"<[email protected]> wrote in message >>>> news:[email protected]... >>>>> On 2011-06-19 02:10, Adam D. Ruppe wrote: >>>>>> http://arsdnet.net/dcode/build2.d >>>>>> >>>>>> * Be fast. It loops dmd like my old build.d. (I can't find a better >>>>>> way to do it. Even rdmd always runs dmd at least twice - check >>>>>> its source!) >>>>> >>>>> That shouldn't be necessary. >>>>> >>>>> First run: >>>>> >>>>> * Run the compiler once with the -deps flag to collect the >>>>> dependencies >>>>> * Run the compiler again to compile everything >>>>> * Cache dependencies >>>>> >>>>> Later runs: >>>>> >>>>> * Run the compiler once with the -deps flag and compile everything >>>> >>>> Using the -deps flag to *just* get the deps is very fast. Much faster >>>> than a >>>> full compile. >>> >>> I understand that that would be faster when the dependencies have >>> changed >>> but if they haven't then you just have to run the compiler once. Don't >>> know what would be best to do though. >>> >>> BTW, to just get the dependencies, would that be with the -deps and -c >>> flags? Is the a better way? I mean if you just specify the -deps flag it >>> will do a full compilation. Seems to me that skipping linking (-c flag) >>> is >>> a little too much as well for what's actually necessary. Would be good >>> to >>> have a flag that does only what's absolutely necessary for tracking >>> dependencies. >>> >> >> What I meant was that doing a deps-only run is fast enough that doing it >> every time shouldn't be a problem. >> >> However, I am starting to wonder if RDMD's functionality should built >> into >> DMD (ideally in a way that LDC/GDC wouldn't have to re-implement it >> themselves). DDMD does take about a minute or so to compile, and while >> the >> deps-only run is the faster part, it's not insignificant. But then, maybe >> that's just due to some fixable inefficiency in DMD? There's very little >> templates/ctfe involved. > > I guess one could add the "-o-" (do not write object file) flag as well. > Don't know how much that would help though. I guess DMD does need to do > most of the process it normally does on the files due to static if, mixins > and other meta programming features. >
It would have to do most/all of the front-end work, but I wouldn't think it should have to do any of the backend work or any optimizations (not sure where those lie, a little in each?).
