digitalmars.D.announce - DMD 0.151 release
- Walter Bright <newshound digitalmars.com> Apr 03 2006
- Deewiant <deewiant.doesnotlike.spam gmail.com> Apr 03 2006
- Deewiant <deewiant.doesnotlike.spam gmail.com> Apr 03 2006
- Walter Bright <newshound digitalmars.com> Apr 03 2006
- Dave <Dave_member pathlink.com> Apr 03 2006
- Deewiant <deewiant.doesnotlike.spam gmail.com> Apr 03 2006
- Rod Haper <rhaper houston.rr.com> Apr 03 2006
- Walter Bright <newshound digitalmars.com> Apr 03 2006
- James Dunne <james.jdunne gmail.com> Apr 03 2006
- Walter Bright <newshound digitalmars.com> Apr 04 2006
- jicman <jicman_member pathlink.com> Apr 05 2006
- pragma <pragma_member pathlink.com> Apr 05 2006
- Sean Kelly <sean f4.ca> Apr 03 2006
- Walter Bright <newshound digitalmars.com> Apr 03 2006
- Sean Kelly <sean f4.ca> Apr 03 2006
Bug fixes. http://www.digitalmars.com/d/changelog.html
Apr 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.
Apr 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.
Apr 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.
Apr 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
Apr 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
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
Walter Bright wrote:Bug fixes. http://www.digitalmars.com/d/changelog.html
Ummm ... 152?
Apr 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.
Apr 03 2006
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
James Dunne wrote:Walter Bright wrote:Rod Haper wrote:Ummm ... 152?
It was already off in libphobos.a.
Apr 04 2006
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
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
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
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
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









Walter Bright <newshound digitalmars.com> 