Thread overview | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
August 02, 2014 LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Hi everyone! The first alpha release of LDC release 0.14.0 is here! It is based on the 2.065.0 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.2 only). This release contains some exciting new features like shared libraries on Linux! Be sure to read the preliminary change log at the GitHub release page which also has the package download links: https://github.com/ldc-developers/ldc/releases/tag/v0.14.0-alpha1 MD5 checksums for the release packages: 16cec8be4c694082f6dc80c72e447e2b ldc-0.14.0-alpha1-src.tar.gz cbdd5446c15db0ebd563e06e6e7f57ed ldc2-0.14.0-alpha1-linux-x86.tar.gz 8c16b0746765295446acbc7775ac4162 ldc2-0.14.0-alpha1-linux-x86.tar.xz a70e9f3e6aab43de958185553c1ee0ad ldc2-0.14.0-alpha1-linux-x86_64.tar.gz 3c2a231e75531e6e36f42d1eea4fed48 ldc2-0.14.0-alpha1-linux-x86_64.tar.xz 5e379188d9d366423caa69d948c11772 ldc2-0.14.0-alpha1-mingw-x86.7z c2bbbd9595208ee3afe05253c40a84d0 ldc2-0.14.0-alpha1-mingw-x86.zip b017833757a9871d2ac798988de58cb6 ldc2-0.14.0-alpha1-osx-x86_64.tar.gz c2d8b1bd501bfa59a84f8409194bb6c0 ldc2-0.14.0-alpha1-osx-x86_64.tar.xz As always, the Win32/MinGW packages require a recent version of the mingw-w64 toolchain, see the (new) README file for details. There is no Win64/MSVC package yet. Nevertheless the implementation had made a huge step forward thanks to the help from Trass3r. Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments. Thanks to everybody involved in making this happen! Regards, Kai |
August 02, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | Kai Nacke:
> 5e379188d9d366423caa69d948c11772 ldc2-0.14.0-alpha1-mingw-x86.7z
It seems to work.
I presume there is no "unsafe FP optimizations" yet.
I think ldmd2 doesn't show the -nogc switch.
I have not seen a significant reduction of the produced binary sizes.
Bye,
bearophile
|
August 02, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On 2 Aug 2014, at 17:41, bearophile via digitalmars-d-ldc wrote:
> I have not seen a significant reduction of the produced binary sizes.
The MinGW linker unfortunately does not support --gc-sections. As of now, the feature unfortunately is Linux-only.
Cheers,
David
|
August 02, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | > There is no Win64/MSVC package yet. Nevertheless the implementation had made a
> huge step forward thanks to the help from Trass3r.
The biggest remaining issue is exception handling.
That patch from Twobit has not seen any progress afaik.
It sort of works but doesn't put things into comdats and thus may be related to the large executable size.
|
August 02, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | On Saturday, 2 August 2014 at 15:11:52 UTC, Kai Nacke wrote:
> Hi everyone!
>
> The first alpha release of LDC release 0.14.0 is here! It is based on the 2.065.0 front-end and
> LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.2 only).
I have tried it on Ubuntu 64-bit machine.
It's generating small and fast executables!!
My interest for D is getting rekindled again! Thank you guys! :D
|
August 02, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to John | John:
> It's generating small and fast executables!!
What kind of executable sizes are you seeing? Like, what's the size for a hello world with writeln on a 64 bit Ubuntu?
Bye,
bearophile
|
August 03, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Saturday, 2 August 2014 at 23:22:35 UTC, bearophile wrote: > What kind of executable sizes are you seeing? Like, what's the size for a hello world with writeln on a 64 bit Ubuntu? helloworld.d with writeln dmd 472 KB ldc 286 KB stopwatch example from http://dlang.org/phobos/std_datetime.html#.StopWatch dmd 1.1 MB ldc 322 KB The ldc version of stopwatch runs more than 10x faster. And the Average times displayed by the stopwatch is crazy: (dmd) Average time: 4000.00 hnsecs (approx) (ldc) Average time: 1.00 hnsecs (approx) |
August 03, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Attachments:
| On Sat, 2014-08-02 at 22:50 +0000, John via digitalmars-d-ldc wrote: […] > It's generating small and fast executables!! > My interest for D is getting rekindled again! Thank you guys! :D I did a quick test of one tiny calculation, maximum optimization switched on: Compiler: size: elapse time DMD v2.065: 1134444: 8.782991 GDC 4.9.1: 10073177: 8.837684 LDC master 22b74dc41a69ea49b4bb9dba588ed13611a9609f: 363973: 8.619940 So I can't say anything about fast, but I can clearly see small. This is on Debian Sid. I think for compilation times: DMD < LDC < GDC -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
August 03, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | For this simple program: ``` import std.stdio, std.algorithm; void main() { auto arr = [ 1, 2, 3, 4 ]; writeln(arr.map!(a => 2*a)); } ``` -rwxr-xr-x 1 dicebot users 581K Aug 3 16:52 dmd -rwxr-xr-x 1 dicebot users 3.6M Aug 3 17:24 gdc -rwxr-xr-x 1 dicebot users 2.2M Aug 3 16:54 ldc-old -rwxr-xr-x 1 dicebot users 410K Aug 3 17:21 ldc-new It is quite interesting that dmd binary size is so smaller than gdc and old ldc output - probably something related to frontend symbol emitting difference. I have also checked `nm -a` output and can confirmed that `ldc-new` is the only one that does not have inlined map symbols (including lambda) in the resulting binary. output for stripped binaries: -rwxr-xr-x 1 dicebot users 387K Aug 3 17:27 dmd -rwxr-xr-x 1 dicebot users 2.6M Aug 3 17:27 gdc -rwxr-xr-x 1 dicebot users 1.1M Aug 3 17:27 ldc-old -rwxr-xr-x 1 dicebot users 274K Aug 3 17:27 ldc-new compiling small vibe.d application that uses Diet templates: -rwxr-xr-x 1 dicebot users 16M Aug 3 17:30 diet-dmd -rwxr-xr-x 1 dicebot users 8.2M Aug 3 17:31 diet-ldc-new |
August 03, 2014 Re: LDC 0.14.0 alpha1 released! Please help test! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | P.S. I have noticed that now libdruntime.a is not included into libphobos2.a and needs to be package too, is it intended or just unforeseen side effect of shared library support? |
Copyright © 1999-2021 by the D Language Foundation