Jump to page: 1 2
Thread overview
DMD 0.151 release
Apr 03, 2006
Walter Bright
Apr 03, 2006
Deewiant
Apr 03, 2006
Deewiant
Apr 03, 2006
Walter Bright
Apr 03, 2006
Dave
Apr 03, 2006
Deewiant
Apr 03, 2006
Rod Haper
Apr 03, 2006
Walter Bright
Apr 04, 2006
James Dunne
Apr 04, 2006
Walter Bright
DMD 0.152 release
Apr 05, 2006
jicman
Apr 06, 2006
pragma
Apr 03, 2006
Sean Kelly
Apr 03, 2006
Walter Bright
Apr 04, 2006
Sean Kelly
April 03, 2006
Bug fixes.

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


Ummm ... 152?
April 03, 2006
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
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
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