Thread overview | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 19, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Walter Bright Wrote:
>
> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.038.zip
>
>
>
> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.022.zip
What's changed in the compiler to increase compile times so dramatically with this build? It's about a five-fold increase. My code uses some templates, but not what you'd call excessively, and there are no cyclic imports.
|
December 19, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to John C | On Fri, 19 Dec 2008 14:51:11 +0300, John C <johnch_atms@hotmail.com> wrote:
> Walter Bright Wrote:
>
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.038.zip
>>
>>
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.022.zip
>
> What's changed in the compiler to increase compile times so dramatically with this build? It's about a five-fold increase. My code uses some templates, but not what you'd call excessively, and there are no cyclic imports.
Pure and nothrow semantics checks, perhaps (even if you don't use them)?
|
December 19, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | On Fri, Dec 19, 2008 at 9:12 PM, Denis Koroskin <2korden@gmail.com> wrote: > On Fri, 19 Dec 2008 14:51:11 +0300, John C <johnch_atms@hotmail.com> wrote: > >> Walter Bright Wrote: >> >>> >>> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.038.zip >>> >>> >>> >>> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.022.zip >> >> What's changed in the compiler to increase compile times so dramatically with this build? It's about a five-fold increase. My code uses some templates, but not what you'd call excessively, and there are no cyclic imports. > > Pure and nothrow semantics checks, perhaps (even if you don't use them)? D1 is slower too, so that doesn't explain it. Going from what's in the changelog, I've got my suspicions it's the fix for this one that's responsible: http://d.puremagic.com/issues/show_bug.cgi?id=2500 Total guess though. --bb |
December 19, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote:
> On Fri, Dec 19, 2008 at 9:12 PM, Denis Koroskin <2korden@gmail.com> wrote:
>> On Fri, 19 Dec 2008 14:51:11 +0300, John C <johnch_atms@hotmail.com> wrote:
>>> What's changed in the compiler to increase compile times so dramatically
>>> with this build? It's about a five-fold increase. My code uses some
>>> templates, but not what you'd call excessively, and there are no cyclic
>>> imports.
>> Pure and nothrow semantics checks, perhaps (even if you don't use them)?
>
> D1 is slower too, so that doesn't explain it.
>
> Going from what's in the changelog, I've got my suspicions it's the
> fix for this one that's responsible:
> http://d.puremagic.com/issues/show_bug.cgi?id=2500
> Total guess though.
That is the cyclic import problem. Can you check again to see if you have cyclic imports?
|
December 19, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Reply to Walter,
> That is the cyclic import problem. Can you check again to see if you
> have cyclic imports?
>
could you add a flag to DMD that will give a waning on cyclical imports?
|
December 20, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to John C | On Fri, Dec 19, 2008 at 8:51 PM, John C <johnch_atms@hotmail.com> wrote:
> Walter Bright Wrote:
>
>>
>> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.038.zip
>>
>>
>>
>> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.022.zip
>
> What's changed in the compiler to increase compile times so dramatically with this build? It's about a five-fold increase. My code uses some templates, but not what you'd call excessively, and there are no cyclic imports.
John, is your code small enough that you could extract a reasonable
test case to give to Walter?
My code involves maybe a hundred files, and does perhaps use templates
"excessively". :-)
--bb
--bb
|
December 20, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | BCS wrote:
>> That is the cyclic import problem. Can you check again to see if you
>> have cyclic imports?
>>
>
> could you add a flag to DMD that will give a waning on cyclical imports?
I could, but in the meantime I want to find the source of the slowdown.
|
December 20, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote:
> My code involves maybe a hundred files, and does perhaps use templates
> "excessively". :-)
Excess isn't the problem, I want to see if import cycles is.
Also, try putting them all (most) on the same command line, and see if the speed improves.
|
December 20, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sat, Dec 20, 2008 at 10:41 AM, Walter Bright <newshound1@digitalmars.com> wrote:
> Bill Baxter wrote:
>>
>> My code involves maybe a hundred files, and does perhaps use templates "excessively". :-)
>
> Excess isn't the problem, I want to see if import cycles is.
>
> Also, try putting them all (most) on the same command line, and see if the
> speed improves.
>
I'm pretty sure they are all on the same command line now for me, because I use DSSS with oneatatime turned off. I think in that case DSSS generates a single command like to compile everything.
--bb
|
December 20, 2008 Re: DMD 1.038 and 2.022 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sat, Dec 20, 2008 at 10:39 AM, Walter Bright <newshound1@digitalmars.com> wrote:
> BCS wrote:
>>>
>>> That is the cyclic import problem. Can you check again to see if you have cyclic imports?
>>>
>>
>> could you add a flag to DMD that will give a waning on cyclical imports?
>
> I could, but in the meantime I want to find the source of the slowdown.
Without such a warning it's a bit difficult to track down if there are
cyclic imports or not. At least in my code.
I was hoping John C's example is maybe of a little more manageable size.
--bb
|
Copyright © 1999-2021 by the D Language Foundation