LDC 1.2.0 has been released!

Guillaume Piolat via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Mon Apr 24 09:15:40 PDT 2017


On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I announce the new 1.2.0 release!
> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>
> Highlights of this release are the new frontend, support for 
> LLVM 4.0, better cross-compiling support for floating points 
> and a ton of fixes to increase robustness of the compiler. Be 
> sure to read the change log at the GitHub release page for all 
> the details. The packages are available for download at the 
> same page.
> https://github.com/ldc-developers/ldc/releases/tag/v1.2.0
>
> MD5 checksums for the release packages:
>
> 68a19f08047c38518699351154ed156f  ldc-1.2.0-src.tar.gz
> f9c36bdcc4a0f3502b3ba0d6b913cf3e  
> ldc2-1.2.0-freebsd-x86_64.tar.xz
> a57072691c26ca32ad08fa981d5acaa6  ldc2-1.2.0-linux-x86.tar.xz
> fa24f73702355a430677d85c9b0e3200  ldc2-1.2.0-linux-x86_64.tar.xz
> 6b97b2508233ecf35c2add95a2d81666  ldc2-1.2.0-osx-x86_64.tar.xz
> fa298a80bdeb9eb8b7b71b8de1fef545  ldc2-1.2.0-win32-msvc.zip
> be187180cec83003cc29ffba7e41032f  ldc2-1.2.0-win64-msvc.zip
>
> Regarding the binaries:
> The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS 
> with gcc 4.8.x and LLVM 4.0.0. They work on Ubuntu 12.04 LTS 
> (or later) without installing additional software.
>
> The OS X binaries and the FreeBSD binaries are built with LLVM 
> 4.0.0.
>
> The Win32 and Win64 MSVC versions are built with VS2015 and 
> LLVM 3.9.1 (due to a regression in LLVM 4.0).
>
> 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. Onward to 
> 1.3.0!
>
> Regards,
> Kai

Thanks.

Here are some results with testing audio processing x86 
performance versus LDC 1.0 (1.1 would make ~1% faster binaries 
than 1.0).

* 32-bit

     LDC-1.0.0 x86
     Results:
      * minimum time: 214 ms => 98.7409 x real-time
      * median  time: 220 ms => 96.0479 x real-time
      * average time: 246.967 ms => 85.5603 x real-time

     LDC-1.2.0 x86
     Results:
      * minimum time: 175 ms => 120.746 x real-time
      * median  time: 177 ms => 119.382 x real-time
      * average time: 185.2 ms => 114.096 x real-time

     LDC-1.2.0 x86 with -ffast-math
     Results:
      * minimum time: 175 ms => 120.746 x real-time
      * median  time: 178 ms => 118.711 x real-time
      * average time: 192.033 ms => 110.036 x real-time
      => peak dB difference = -150.515 dB
      => RMS dB difference  = -212.253 dB

* 64-bit

     LDC-1.0.0 x86_64
     Results:
      * minimum time: 195 ms => 108.362 x real-time
      * median  time: 200.5 ms => 105.389 x real-time
      * average time: 206.533 ms => 102.311 x real-time

     LDC-1.2.0 x86_64
     Results:
      * minimum time: 174 ms => 121.44 x real-time
      * median  time: 176.5 ms => 119.72 x real-time
      * average time: 180.467 ms => 117.088 x real-time

     LDC-1.2.0 x86_64 with -ffast-math
      * minimum time: 170 ms => 124.297 x real-time
      * median  time: 172 ms => 122.852 x real-time
      * average time: 178.933 ms => 118.092 x real-time
      => peak dB difference = -inf dB
      => RMS dB difference  = -inf dB

Conclusion: for this particular benchmark, LDC 1.2.0 beats the 
former LDC with ~20% speed-up for 32-bit and ~10% for 64-bit. 
Very nice!


More information about the digitalmars-d-ldc mailing list