September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wyatt | On 9/18/13 6:54 AM, Wyatt wrote:
> On Wednesday, 18 September 2013 at 11:45:55 UTC, Manu wrote:
> ?
>> The problem I've always had with make-based build systems is rebuild
>> dependencies... how do any of those build systems go performing a
>> minimal rebuild,
>
> As in "only rebuild the files that changed"? In my experience, that
> comes with using make. Even really ancient versions.
Plus rdmd --make-depend, yum.
Andrei
|
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wyatt Attachments:
| On 18 September 2013 23:54, Wyatt <wyatt.epp@gmail.com> wrote: > On Wednesday, 18 September 2013 at 11:45:55 UTC, Manu wrote: ? > >> The problem I've always had with make-based build systems is rebuild dependencies... how do any of those build systems go performing a minimal rebuild, >> > > As in "only rebuild the files that changed"? In my experience, that comes with using make. Even really ancient versions. I've had lots of problems in the past where a header included by another header doesn't prompt the dependent code to be rebuilt, and I ended up in a conservative state of rebuild-all-ing every time... :/ Maybe I should try working with that environment more... > or incremental linking? >> > > This is a bit harder. If you're using the Gold linker, -Wl,--incremental sounds like your medicine, though I'm not sure if Gold is ready for primetime, yet. How does that work? Can you re-link while paused in the debugger, and then continue with the new code? |
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu Attachments:
| On 19 September 2013 01:04, Andrei Alexandrescu < SeeWebsiteForEmail@erdani.org> wrote:
> On 9/18/13 6:54 AM, Wyatt wrote:
>
>> On Wednesday, 18 September 2013 at 11:45:55 UTC, Manu wrote: ?
>>
>>> The problem I've always had with make-based build systems is rebuild dependencies... how do any of those build systems go performing a minimal rebuild,
>>>
>>
>> As in "only rebuild the files that changed"? In my experience, that comes with using make. Even really ancient versions.
>>
>
> Plus rdmd --make-depend, yum.
I actually only just realised how cool rdmd was last weekend. Never occurred to me really to use it before. Very handy!
Problem is, 80% of the code I write is C code still... :(
|
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On 9/18/13 8:44 AM, Manu wrote: > On 19 September 2013 01:04, Andrei Alexandrescu > <SeeWebsiteForEmail@erdani.org <mailto:SeeWebsiteForEmail@erdani.org>> > wrote: > > On 9/18/13 6:54 AM, Wyatt wrote: > > On Wednesday, 18 September 2013 at 11:45:55 UTC, Manu wrote: > ? > > The problem I've always had with make-based build systems is > rebuild > dependencies... how do any of those build systems go > performing a > minimal rebuild, > > > As in "only rebuild the files that changed"? In my experience, that > comes with using make. Even really ancient versions. > > > Plus rdmd --make-depend, yum. > > > I actually only just realised how cool rdmd was last weekend. > Never occurred to me really to use it before. Very handy! yay 2 dat > Problem is, 80% of the code I write is C code still... :( join me Andrei |
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On 9/18/13, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote: >> Problem is, 80% of the code I write is C code still... :( > > join me I don't suppose GCC and other compilers have some kind of verbose output that exports include declarations? Or maybe just modify an RDMD fork to run the preprocessor over a C/C++ file. What I'm saying is, I think a tool like RDMD could be used for C/C++ (with some trickery). |
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu Attachments:
| On 19 September 2013 01:46, Andrei Alexandrescu < SeeWebsiteForEmail@erdani.org> wrote:
> On 9/18/13 8:44 AM, Manu wrote:
>
>> On 19 September 2013 01:04, Andrei Alexandrescu
>> <SeeWebsiteForEmail@erdani.org <mailto:SeeWebsiteForEmail@**erdani.org<SeeWebsiteForEmail@erdani.org>
>> >>
>>
>> wrote:
>>
>> On 9/18/13 6:54 AM, Wyatt wrote:
>>
>> On Wednesday, 18 September 2013 at 11:45:55 UTC, Manu wrote:
>> ?
>>
>> The problem I've always had with make-based build systems is
>> rebuild
>> dependencies... how do any of those build systems go
>> performing a
>> minimal rebuild,
>>
>>
>> As in "only rebuild the files that changed"? In my experience,
>> that
>> comes with using make. Even really ancient versions.
>>
>>
>> Plus rdmd --make-depend, yum.
>>
>>
>> I actually only just realised how cool rdmd was last weekend. Never occurred to me really to use it before. Very handy!
>>
>
> yay 2 dat
>
>
> Problem is, 80% of the code I write is C code still... :(
>>
>
> join me
You never know... it could happen.
|
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Attachments:
| On 19 September 2013 02:05, Andrej Mitrovic <andrej.mitrovich@gmail.com>wrote: > On 9/18/13, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote: > >> Problem is, 80% of the code I write is C code still... :( > > > > join me > > I don't suppose GCC and other compilers have some kind of verbose output that exports include declarations? Or maybe just modify an RDMD fork to run the preprocessor over a C/C++ file. What I'm saying is, I think a tool like RDMD could be used for C/C++ (with some trickery). > rdmd implies rebuild-all every time. It doesn't really scale. If you have a few hundred thousand LOC, its probably not the man for the job. |
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On Wednesday, 18 September 2013 at 16:09:46 UTC, Manu wrote:
> rdmd implies rebuild-all every time. It doesn't really scale.
Have you actually tried it? My biggest D program is coming up on 100,000 lines of code, plus phobos, and I still compile it all at once, every time. The compile time is ~15 seconds, slower than I'd like (due to ctfe more than anything else) but not bad.
Compiling all of phobos at once, > 100,000 lines of D, takes about 2 seconds on my computer, excluding linking.
|
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam D. Ruppe | On 18 September 2013 17:15, Adam D. Ruppe <destructionator@gmail.com> wrote: > On Wednesday, 18 September 2013 at 16:09:46 UTC, Manu wrote: >> >> rdmd implies rebuild-all every time. It doesn't really scale. > > > Have you actually tried it? My biggest D program is coming up on 100,000 lines of code, plus phobos, and I still compile it all at once, every time. The compile time is ~15 seconds, slower than I'd like (due to ctfe more than anything else) but not bad. > > Compiling all of phobos at once, > 100,000 lines of D, takes about 2 seconds on my computer, excluding linking. Takes about 30-40 seconds with gdc. ;-) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
September 18, 2013 Re: Had another 48hr game jam this weekend... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On Wednesday, 18 September 2013 at 16:22:27 UTC, Iain Buclaw wrote:
> Takes about 30-40 seconds with gdc. ;-)
Yikes.
Though that reminds me of something, I don't use dmd -O very often, which is horribly slow too. I guess in game dev, even when debugging/toying around, you'd probably want to optimize so maybe that is a problem.
|
Copyright © 1999-2021 by the D Language Foundation