December 27, 2017
On 12/27/2017 1:23 PM, Atila Neves wrote:
> However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
You can do fast incremental builds with D by not putting all the files on the command line. Just put one.
December 28, 2017
On Thursday, 28 December 2017 at 07:05:25 UTC, Joakim wrote:
> On Sunday, 24 December 2017 at 22:55:12 UTC, aberba wrote:
>> On Friday, 22 December 2017 at 10:06:18 UTC, Joakim wrote:
>
> What do you plan to do about it?

I have an idea or two. I just need time/mental energy to do this.

Atila

December 28, 2017
On Thursday, 28 December 2017 at 07:21:28 UTC, Walter Bright wrote:
> On 12/27/2017 1:23 PM, Atila Neves wrote:
>> However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
> You can do fast incremental builds with D by not putting all the files on the command line. Just put one.

I don't build the compiler command-line myself, nor do I want to. Even then, recompiling one file isn't useful to me, what is is to recompile what's needed and run the tests. Emacs/flycheck already highlights compilation errors in just one file.

Atila
December 28, 2017
On Thursday, 28 December 2017 at 13:20:34 UTC, Atila Neves wrote:
> On Thursday, 28 December 2017 at 07:05:25 UTC, Joakim wrote:
>> On Sunday, 24 December 2017 at 22:55:12 UTC, aberba wrote:
>>> On Friday, 22 December 2017 at 10:06:18 UTC, Joakim wrote:
>>
>> What do you plan to do about it?
>
> I have an idea or two. I just need time/mental energy to do this.
>
> Atila

Are you aware of this great work: https://github.com/dlang/dmd/pull/7239?
December 28, 2017
On Thu, Dec 28, 2017 at 01:22:13PM +0000, Atila Neves via Digitalmars-d wrote:
> On Thursday, 28 December 2017 at 07:21:28 UTC, Walter Bright wrote:
> > On 12/27/2017 1:23 PM, Atila Neves wrote:
> > > However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
> > You can do fast incremental builds with D by not putting all the files on the command line. Just put one.
> 
> I don't build the compiler command-line myself, nor do I want to. Even then, recompiling one file isn't useful to me, what is is to recompile what's needed and run the tests.
[...]

Isn't that what a build system is for?


T

-- 
GEEK = Gatherer of Extremely Enlightening Knowledge
December 28, 2017
On 12/28/2017 5:22 AM, Atila Neves wrote:
> On Thursday, 28 December 2017 at 07:21:28 UTC, Walter Bright wrote:
>> On 12/27/2017 1:23 PM, Atila Neves wrote:
>>> However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
>> You can do fast incremental builds with D by not putting all the files on the command line. Just put one.
> 
> I don't build the compiler command-line myself, nor do I want to. Even then, recompiling one file isn't useful to me, what is is to recompile what's needed and run the tests. Emacs/flycheck already highlights compilation errors in just one file.

I don't understand. C++ compiles files one at a time. You can do the same in D. How can this model be useful in C++ but not with D?

December 28, 2017
On 28 December 2017 at 22:58, Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On 12/28/2017 5:22 AM, Atila Neves wrote:
>>
>> On Thursday, 28 December 2017 at 07:21:28 UTC, Walter Bright wrote:
>>>
>>> On 12/27/2017 1:23 PM, Atila Neves wrote:
>>>>
>>>> However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
>>>
>>> You can do fast incremental builds with D by not putting all the files on the command line. Just put one.
>>
>>
>> I don't build the compiler command-line myself, nor do I want to. Even then, recompiling one file isn't useful to me, what is is to recompile what's needed and run the tests. Emacs/flycheck already highlights compilation errors in just one file.
>
>
> I don't understand. C++ compiles files one at a time. You can do the same in D. How can this model be useful in C++ but not with D?
>

D modules are like C++ headers.  Change one, and you need to recompile everything that imports it.
December 29, 2017
On 12/28/2017 2:16 PM, Iain Buclaw wrote:
> D modules are like C++ headers.  Change one, and you need to recompile
> everything that imports it.

That's right. That doesn't mean that D should incrementally compile slower than C++.
December 29, 2017
On Thursday, 28 December 2017 at 15:54:03 UTC, H. S. Teoh wrote:
> On Thu, Dec 28, 2017 at 01:22:13PM +0000, Atila Neves via Digitalmars-d wrote:
>> On Thursday, 28 December 2017 at 07:21:28 UTC, Walter Bright wrote:
>> > On 12/27/2017 1:23 PM, Atila Neves wrote:
>> > > However, my experience has been that D has fast builds from scratch, but is really really slow for incremental builds.
>> > You can do fast incremental builds with D by not putting all the files on the command line. Just put one.
>> 
>> I don't build the compiler command-line myself, nor do I want to. Even then, recompiling one file isn't useful to me, what is is to recompile what's needed and run the tests.
> [...]
>
> Isn't that what a build system is for?
>
>
> T

Yes, and I wrote one. It turns out that I misunderstood what Walter said though.

Atila
December 29, 2017
On Thursday, 28 December 2017 at 13:26:55 UTC, Seb wrote:
> On Thursday, 28 December 2017 at 13:20:34 UTC, Atila Neves wrote:
>> On Thursday, 28 December 2017 at 07:05:25 UTC, Joakim wrote:
>>> On Sunday, 24 December 2017 at 22:55:12 UTC, aberba wrote:
>>>> On Friday, 22 December 2017 at 10:06:18 UTC, Joakim wrote:
>>>
>>> What do you plan to do about it?
>>
>> I have an idea or two. I just need time/mental energy to do this.
>>
>> Atila
>
> Are you aware of this great work: https://github.com/dlang/dmd/pull/7239?

I wasn't, thanks for pointing it out. Looks interesting, but all the compile times were still over a second, which is my pain threshold.

Atila