Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
April 03, 2006 DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Bug fixes. http://www.digitalmars.com/d/changelog.html |
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote: > Bug fixes. > > http://www.digitalmars.com/d/changelog.html http://d.puremagic.com/bugzilla/show_bug.cgi?id=67 You have fixed bug 67, but it seems that compiling with -release is required. Compiling only with -O -inline the test code reports, on my computer, that std.math.abs() is almost 10 times slower. Shouldn't this change occur with -inline? I thought -release was only for removing stuff like asserts and contracts. |
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant | Deewiant wrote: > Walter Bright wrote: >> Bug fixes. >> >> http://www.digitalmars.com/d/changelog.html > > http://d.puremagic.com/bugzilla/show_bug.cgi?id=67 > > You have fixed bug 67, but it seems that compiling with -release is required. Compiling only with -O -inline the test code reports, on my computer, that std.math.abs() is almost 10 times slower. Shouldn't this change occur with -inline? I thought -release was only for removing stuff like asserts and contracts. It may or may not be worth noting that bug 73 (http://d.puremagic.com/bugzilla/show_bug.cgi?id=73) does not exhibit the same behaviour - the speeds reported for std.math.abs() and local abs() are always only marginally different, regardless of the switches I throw at the compiler. |
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant | Deewiant wrote:
> It may or may not be worth noting that bug 73
> (http://d.puremagic.com/bugzilla/show_bug.cgi?id=73) does not exhibit the same
> behaviour - the speeds reported for std.math.abs() and local abs() are always
> only marginally different, regardless of the switches I throw at the compiler.
You can tell if it's being inlined or not by doing an obj2asm.
|
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Deewiant | In article <e0qvh1$gs9$1@digitaldaemon.com>, Deewiant says... > >Walter Bright wrote: >> Bug fixes. >> >> http://www.digitalmars.com/d/changelog.html > >http://d.puremagic.com/bugzilla/show_bug.cgi?id=67 > >You have fixed bug 67, but it seems that compiling with -release is required. Compiling only with -O -inline the test code reports, on my computer, that std.math.abs() is almost 10 times slower. Shouldn't this change occur with -inline? I thought -release was only for removing stuff like asserts and contracts. Take a look at dmd/src/dmd/mars.c - That explains it (and FWIW sounds reasonable to me since -release will most likely be thrown when performance is an issue for end-user builds after QA is complete). - Dave |
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dave | Dave wrote:
> In article <e0qvh1$gs9$1@digitaldaemon.com>, Deewiant says...
>> Walter Bright wrote:
>>> Bug fixes.
>>>
>>> http://www.digitalmars.com/d/changelog.html
>> http://d.puremagic.com/bugzilla/show_bug.cgi?id=67
>>
>> You have fixed bug 67, but it seems that compiling with -release is required. Compiling only with -O -inline the test code reports, on my computer, that std.math.abs() is almost 10 times slower. Shouldn't this change occur with -inline? I thought -release was only for removing stuff like asserts and contracts.
>
> Take a look at dmd/src/dmd/mars.c - That explains it (and FWIW sounds reasonable to me since -release will most likely be thrown when performance is an issue for end-user builds after QA is complete).
>
> - Dave
>
>
IMHO it's reasonable to assume that one would want maximum performance in builds with asserts and array bounds checking and such enabled.
I see that it would require some work to get it to work, and I don't _personally_ really mind that much - I expect debug builds to be slow <g> - so I'm not complaining.
It's just that I remembered some people who were worried about things like "a program may not rely on array bounds checking happening" in the D documentation. Such people are the type that would rarely compile with -release thrown.
|
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Bug fixes.
>
> http://www.digitalmars.com/d/changelog.html
Ummm ... 152?
|
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Bug fixes.
>
> http://www.digitalmars.com/d/changelog.html
Very nice! Two quick fixes:
phobos/std/typeinfo/ti_aA.d:
"uint getHash" -> should be "hash_t getHash"
phobos/object.d:
"alias uint hash_t" -> should be "alias size_t hash_t" or needs a version(X86_64) block as in phobos/internal/object.d
Sean
|
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote: > phobos/std/typeinfo/ti_aA.d: > "uint getHash" -> should be "hash_t getHash" Hmm. That's already the case? > phobos/object.d: > "alias uint hash_t" -> should be "alias size_t hash_t" or needs a version(X86_64) block as in phobos/internal/object.d Done. |
April 03, 2006 Re: DMD 0.151 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rod Haper | Rod Haper wrote:
> Walter Bright wrote:
>> Bug fixes.
>>
>> http://www.digitalmars.com/d/changelog.html
>
>
> Ummm ... 152?
All that is is a recompiled phobos.lib with debug turned off.
|
Copyright © 1999-2021 by the D Language Foundation