Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 29, 2015 DMD compilation speed | ||||
---|---|---|---|---|
| ||||
It seems like every DMD release makes compilation slower. This time I see 10.8s vs 7.8s on my little project. I know this is generally least of concern, and D1's lighting-fast times are long gone, but since Walter often claims D's superior compilation speeds, maybe some profiling is in order ? |
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Krejcirik | On 3/29/2015 4:14 PM, Martin Krejcirik wrote:
> It seems like every DMD release makes compilation slower. This time I see 10.8s
> vs 7.8s on my little project. I know this is generally least of concern, and
> D1's lighting-fast times are long gone, but since Walter often claims D's
> superior compilation speeds, maybe some profiling is in order ?
Sigh. Two things happen constantly:
1. object file sizes creep up
2. compilation speed slows down
It's like rust on your car. Fixing it requires constant vigilance.
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Monday, 30 March 2015 at 00:12:09 UTC, Walter Bright wrote:
> On 3/29/2015 4:14 PM, Martin Krejcirik wrote:
>> It seems like every DMD release makes compilation slower. This time I see 10.8s
>> vs 7.8s on my little project. I know this is generally least of concern, and
>> D1's lighting-fast times are long gone, but since Walter often claims D's
>> superior compilation speeds, maybe some profiling is in order ?
>
> Sigh. Two things happen constantly:
>
> 1. object file sizes creep up
> 2. compilation speed slows down
>
> It's like rust on your car. Fixing it requires constant vigilance.
would having benchmarks help keep this under control/make regressions easier to find?
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to weaselcat | On 3/29/2015 5:14 PM, weaselcat wrote:
> would having benchmarks help keep this under control/make regressions easier to
> find?
benchmarks would help.
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Krejcirik | On 03/30/2015 01:14 AM, Martin Krejcirik wrote:
> It seems like every DMD release makes compilation slower. This time I see 10.8s vs 7.8s on my little project. I know this is generally least of concern, and D1's lighting-fast times are long gone, but since Walter often claims D's superior compilation speeds, maybe some profiling is in order ?
25% slowdown is severe, can you share the project and probably file a bug report?
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Krejcirik Attachments:
| Is it only DMD compile time or DMD + ld ? ld can be very slow sometimes.
2015-03-30 1:14 GMT+02:00 Martin Krejcirik via Digitalmars-d < digitalmars-d@puremagic.com>:
> It seems like every DMD release makes compilation slower. This time I see 10.8s vs 7.8s on my little project. I know this is generally least of concern, and D1's lighting-fast times are long gone, but since Walter often claims D's superior compilation speeds, maybe some profiling is in order ?
>
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Nowak | Here is one example: Orange d5b2e0127c67f50bd885ee43a7dd61dd418b1661 https://github.com/jacob-carlborg/orange.git make 2.065.0 real 0m9.028s user 0m7.972s sys 0m0.940s 2.066.1 real 0m10.796s user 0m9.629s sys 0m1.056s 2.067.0 real 0m13.543s user 0m12.097s sys 0m1.348s |
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Krejcirik | On 2015-03-30 18:09, Martin Krejcirik wrote: > Here is one example: > > Orange d5b2e0127c67f50bd885ee43a7dd61dd418b1661 > https://github.com/jacob-carlborg/orange.git > make > > 2.065.0 > real 0m9.028s > user 0m7.972s > sys 0m0.940s > > 2.066.1 > real 0m10.796s > user 0m9.629s > sys 0m1.056s > > 2.067.0 > real 0m13.543s > user 0m12.097s > sys 0m1.348s These are the timings for compiling the unit tests without linking. It passes all the files to DMD in one command. The make file invokes DMD once per file. 1.076 real 0m0.212s user 0m0.187s sys 0m0.022s 2.065.0 real 0m0.426s user 0m0.357s sys 0m0.065s 2.066.1 real 0m0.470s user 0m0.397s sys 0m0.064s 2.067.0 real 0m0.510s user 0m0.435s sys 0m0.074s It might not be fair to compare with D1 since it's not exactly the same code. -- /Jacob Carlborg |
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Krejcirik | On Sunday, 29 March 2015 at 23:14:31 UTC, Martin Krejcirik wrote:
> It seems like every DMD release makes compilation slower. This time I see 10.8s vs 7.8s on my little project. I know this is generally least of concern, and D1's lighting-fast times are long gone, but since Walter often claims D's superior compilation speeds, maybe some profiling is in order ?
I'm finding memory usage the biggest problem for me. 3s speed increase is not nice but an increase of 500MB RAM usage with DMD 2.067 over 2.066 means I can no longer build one of my projects.
bye,
lobo
|
March 30, 2015 Re: DMD compilation speed | ||||
---|---|---|---|---|
| ||||
Posted in reply to lobo | On Monday, 30 March 2015 at 22:39:51 UTC, lobo wrote:
> On Sunday, 29 March 2015 at 23:14:31 UTC, Martin Krejcirik wrote:
>> It seems like every DMD release makes compilation slower. This time I see 10.8s vs 7.8s on my little project. I know this is generally least of concern, and D1's lighting-fast times are long gone, but since Walter often claims D's superior compilation speeds, maybe some profiling is in order ?
>
> I'm finding memory usage the biggest problem for me. 3s speed increase is not nice but an increase of 500MB RAM usage with DMD 2.067 over 2.066 means I can no longer build one of my projects.
>
> bye,
> lobo
I should add that I am on a 32-bit machine with 4GB RAM. I just ran some tests measuring RAM usage:
DMD 2.067 ~4.2GB (fails here so not sure of the full amount required)
DMD 2.066 ~3.7GB (maximum)
DMD 2.065 ~3.1GB (maximum)
It was right on the edge with 2.066 anyway but this trend of more RAM usage seems to also be occurring with each DMD release.
bye,
lobo
|
Copyright © 1999-2021 by the D Language Foundation