View mode: basic / threaded / horizontal-split · Log in · Help
April 03, 2006
DMD 0.151 release
Bug fixes.

http://www.digitalmars.com/d/changelog.html
April 03, 2006
Re: DMD 0.151 release
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
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
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
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
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
Walter Bright wrote:
> Bug fixes.
> 
> http://www.digitalmars.com/d/changelog.html


Ummm ... 152?
April 03, 2006
Re: DMD 0.151 release
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
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
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.
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home