www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DMD 0.151 release

reply Walter Bright <newshound digitalmars.com> writes:
Bug fixes.

http://www.digitalmars.com/d/changelog.html
Apr 03 2006
next sibling parent reply Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
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.
Apr 03 2006
next sibling parent reply Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
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.
Apr 03 2006
parent Walter Bright <newshound digitalmars.com> writes:
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.
Apr 03 2006
prev sibling parent reply Dave <Dave_member pathlink.com> writes:
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
Apr 03 2006
parent Deewiant <deewiant.doesnotlike.spam gmail.com> writes:
Dave wrote:
 In article <e0qvh1$gs9$1 digitaldaemon.com>, Deewiant says...
 Walter Bright wrote:
 Bug fixes.

 http://www.digitalmars.com/d/changelog.html

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.
Apr 03 2006
prev sibling next sibling parent reply Rod Haper <rhaper houston.rr.com> writes:
Walter Bright wrote:
 Bug fixes.
 
 http://www.digitalmars.com/d/changelog.html

Ummm ... 152?
Apr 03 2006
parent reply Walter Bright <newshound digitalmars.com> writes:
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.
Apr 03 2006
parent reply James Dunne <james.jdunne gmail.com> writes:
Walter Bright wrote:
 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.

Does this include libphobos.a with debug turned off too? -- Regards, James Dunne
Apr 03 2006
parent reply Walter Bright <newshound digitalmars.com> writes:
James Dunne wrote:
 Walter Bright wrote:
 Rod Haper wrote:
 Ummm ... 152?



It was already off in libphobos.a.
Apr 04 2006
parent reply jicman <jicman_member pathlink.com> writes:
I downloaded dmd.152.zip and the version is 151.

17:02:34.89>dmd
Digital Mars D Compiler v0.151
Copyright (c) 1999-2006 by Digital Mars written by Walter Bright
Documentation: www.digitalmars.com/d/index.html
Usage:
dmd files.d ... { -switch }

files.d        D source files
-c             do not link
-cov           do code coverage analysis
-D             generate documentation
-Dddocdir      write documentation file to docdir directory
-Dffilename    write documentation file to filename
-d             allow deprecated features
-debug         compile in debug code
-debug=level   compile in debug code <= level
-debug=ident   compile in debug code identified by ident
-g             add symbolic debug info
-H             generate 'header' file
-Hdhdrdir      write 'header' file to hdrdir directory
-Hffilename    write 'header' file to filename
--help         print help
-Ipath         where to look for imports
-inline        do function inlining
-Llinkerflag   pass linkerflag to link
-O             optimize
-o-            do not write object file
-odobjdir      write object files to directory objdir
-offilename    name output file to filename
-op            do not strip paths from source file
-profile       profile runtime performance of generated code
-quiet         suppress unnecessary messages
-release       compile release version
-run srcfile args...   run resulting program, passing args
-unittest      compile in unit tests
-v             verbose
-version=level compile in version code >= level
-version=ident compile in version code identified by ident
-w             enable warnings

just saying... :-)

So, does .152 has all the fixes of .151?

thanks,

josť
Apr 05 2006
parent pragma <pragma_member pathlink.com> writes:
The changelog seems to make this clear: it's a last minute library-only fix and
doesn't contain a compiler update. :)

- EricAnderton at yahoo

In article <e11ic6$plu$1 digitaldaemon.com>, jicman says...
I downloaded dmd.152.zip and the version is 151.

17:02:34.89>dmd
Digital Mars D Compiler v0.151
Copyright (c) 1999-2006 by Digital Mars written by Walter Bright
Documentation: www.digitalmars.com/d/index.html
Usage:
dmd files.d ... { -switch }

files.d        D source files
-c             do not link
-cov           do code coverage analysis
-D             generate documentation
-Dddocdir      write documentation file to docdir directory
-Dffilename    write documentation file to filename
-d             allow deprecated features
-debug         compile in debug code
-debug=level   compile in debug code <= level
-debug=ident   compile in debug code identified by ident
-g             add symbolic debug info
-H             generate 'header' file
-Hdhdrdir      write 'header' file to hdrdir directory
-Hffilename    write 'header' file to filename
--help         print help
-Ipath         where to look for imports
-inline        do function inlining
-Llinkerflag   pass linkerflag to link
-O             optimize
-o-            do not write object file
-odobjdir      write object files to directory objdir
-offilename    name output file to filename
-op            do not strip paths from source file
-profile       profile runtime performance of generated code
-quiet         suppress unnecessary messages
-release       compile release version
-run srcfile args...   run resulting program, passing args
-unittest      compile in unit tests
-v             verbose
-version=level compile in version code >= level
-version=ident compile in version code identified by ident
-w             enable warnings

just saying... :-)

So, does .152 has all the fixes of .151?

thanks,

josť

Apr 05 2006
prev sibling parent reply Sean Kelly <sean f4.ca> writes:
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
Apr 03 2006
parent reply Walter Bright <newshound digitalmars.com> writes:
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.
Apr 03 2006
parent Sean Kelly <sean f4.ca> writes:
Walter Bright wrote:
 Sean Kelly wrote:
 
 phobos/std/typeinfo/ti_aA.d:
     "uint getHash" -> should be "hash_t getHash"

Hmm. That's already the case?

My mistake. The original must have been altered during my merge. I re-extracted from the zipfile and now it's okay. Sean
Apr 03 2006