Re: LDC 1.5.0

2017-11-07 Thread Andrea Fontana via Digitalmars-d-announce

On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to finally officially 
announce LDC 1.5. The highlights of this version in a nutshell:


* Based on D 2.075.1.
* Polished LLVM 5.0 support (now also used for the prebuilt 
release packages).

* Prebuilt ARM-Linux package available again.
* New command-line option `-linker` and ~25 new advanced ones 
for codegen fine-tuning.

* Bugfixes, as always.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0


Thanks to all contributors!

[LDC master is at v2.076.1, so LDC 1.6 won't take long.]


Good news. And thank you all for arm release! :)


Re: LDC 1.5.0

2017-11-05 Thread Jon Degenhardt via Digitalmars-d-announce

On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to finally officially 
announce LDC 1.5. The highlights of this version in a nutshell:


* Based on D 2.075.1.
* Polished LLVM 5.0 support (now also used for the prebuilt 
release packages).

* Prebuilt ARM-Linux package available again.
* New command-line option `-linker` and ~25 new advanced ones 
for codegen fine-tuning.

* Bugfixes, as always.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0


Thanks to all contributors!

[LDC master is at v2.076.1, so LDC 1.6 won't take long.]


Great work by the LDC team! Thanks to all the LTO work in 1.4 and 
1.5, the Travis-CI builds of the eBay TSV utilities are LTO 
enabled for Phobos & Druntime as well as the application code. 
This is for both Linux and OS X builds. Couldn't do that before 
the LDC 1.5 release.


The OS X executables are materially faster with the end-to-end 
LTO support. I haven't benchmarked the Linux versions yet. It 
would be very interesting to have get benchmark numbers from 
other apps, especially those making material use of phobos.


Re: LDC 1.5.0

2017-11-04 Thread Joakim via Digitalmars-d-announce

On Saturday, 4 November 2017 at 08:44:12 UTC, codephantom wrote:

On Saturday, 4 November 2017 at 08:40:19 UTC, Joakim wrote:

It is fairly easy to compile ldc yourself:

https://wiki.dlang.org/Building_LDC_from_source


Have you tried those instructions on 'FreeBSD'?


Not those instructions maybe, but I wrote the first ports script 
for FreeBSD back in 2010, so I have built ldc there:


https://www.freshports.org/lang/ldc-devel


Have you ever had to deal with pkg conflicts in FreeBSD?

I have ;-(


Can't say that ever really hit me, not sure how it's relevant to 
building ldc either.


Re: LDC 1.5.0

2017-11-04 Thread Joakim via Digitalmars-d-announce

On Saturday, 4 November 2017 at 02:43:35 UTC, codephantom wrote:

On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to finally officially 
announce LDC 1.5. The highlights of this version in a nutshell:




Great stuff.

No binary release for FreeBSD though??

:-(


There were some in the recent past, last done for the 1.2 release 
and 1.3 beta1:


https://github.com/ldc-developers/ldc/releases

Unfortunately, almost nobody was downloading them:

http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc

Maybe FreeBSD users prefer using the package from ports, though 
it hasn't kept up:


https://www.freshports.org/lang/ldc/

It is fairly easy to compile ldc yourself:

https://wiki.dlang.org/Building_LDC_from_source


Re: LDC 1.5.0

2017-11-04 Thread codephantom via Digitalmars-d-announce

On Saturday, 4 November 2017 at 08:40:19 UTC, Joakim wrote:

It is fairly easy to compile ldc yourself:

https://wiki.dlang.org/Building_LDC_from_source


Have you tried those instructions on 'FreeBSD'?

Have you ever had to deal with pkg conflicts in FreeBSD?

I have ;-(



Re: LDC 1.5.0

2017-11-03 Thread codephantom via Digitalmars-d-announce

On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to finally officially 
announce LDC 1.5. The highlights of this version in a nutshell:




Great stuff.

No binary release for FreeBSD though??

:-(



Re: LDC 1.5.0

2017-11-03 Thread kinke via Digitalmars-d-announce
On Saturday, 4 November 2017 at 00:14:59 UTC, David Nadlinger 
wrote:
On Friday, 3 November 2017 at 23:50:33 UTC, Nicholas Wilson 
wrote:
Does `-link-internally` mean that you don't require command 
line tool/dev installation for OS X and Windows? That would be 
awesome for getting workshops for non-programmers (the 
biologists at my Uni) to work.


You still need the system libraries to link against, 
unfortunately.


And `-link-internally` is currently restricted to MSVC targets. 
https://github.com/ldc-developers/ldc/pull/2203 enables ELF and 
Mach-O output too, but for those targets you'll most likely need 
a lot of extra linker flags.


Re: LDC 1.5.0

2017-11-03 Thread David Nadlinger via Digitalmars-d-announce

On Friday, 3 November 2017 at 23:50:33 UTC, Nicholas Wilson wrote:
Does `-link-internally` mean that you don't require command 
line tool/dev installation for OS X and Windows? That would be 
awesome for getting workshops for non-programmers (the 
biologists at my Uni) to work.


You still need the system libraries to link against, 
unfortunately.


 — David


Re: LDC 1.5.0

2017-11-03 Thread Nicholas Wilson via Digitalmars-d-announce

On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to finally officially 
announce LDC 1.5. The highlights of this version in a nutshell:


* Based on D 2.075.1.
* Polished LLVM 5.0 support (now also used for the prebuilt 
release packages).

* Prebuilt ARM-Linux package available again.
* New command-line option `-linker` and ~25 new advanced ones 
for codegen fine-tuning.

* Bugfixes, as always.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0


Thanks to all contributors!

[LDC master is at v2.076.1, so LDC 1.6 won't take long.]


Great!

Does `-link-internally` mean that you don't require command line 
tool/dev installation for OS X and Windows? That would be awesome 
for getting workshops for non-programmers (the biologists at my 
Uni) to work.




Re: LDC 1.5.0-beta1

2017-10-24 Thread kinke via Digitalmars-d-announce
On Monday, 23 October 2017 at 22:43:15 UTC, Guillaume Piolat 
wrote:
So far my benchmark scripts are Windows-only so no LTO is 
available AFAIK. I can work on providing such measures (or any 
flags you want) on OSX in the future.


I performed an extremely rudimentary -flto=full test on Win64 for 
a hello-world program yesterday, linking manually via LLD 5.0 
(lld-link.exe), which worked (and saved 1 KB for the executable 
;)).


Re: LDC 1.5.0-beta1

2017-10-24 Thread Guillaume Piolat via Digitalmars-d-announce

On Monday, 23 October 2017 at 22:57:00 UTC, Nicholas Wilson wrote:


would it help to have them grouped/filterable by category?
e.g.
$ldc2 -help-hidden=category


Perhaps, but the sheer amount of customizability makes you wish 
for a superoptimizer for compiler flags (hard to do this 
generically though).


Re: LDC 1.5.0-beta1

2017-10-23 Thread Nicholas Wilson via Digitalmars-d-announce
On Monday, 23 October 2017 at 21:26:46 UTC, Guillaume Piolat 
wrote:
Some measurements for some audio processing. Output are 
identical across compilers (30 measures).



### LDC 1.2.0

Results:
 * minimum time: 440 ms => 48.024 x real-time
 * median  time: 443 ms => 47.6987 x real-time
 * average time: 444.233 ms => 47.5663 x real-time

### LDC 1.3.0

Results:
 * minimum time: 439 ms => 48.1334 x real-time
 * median  time: 442 ms => 47.8067 x real-time
 * average time: 442.6 ms => 47.7419 x real-time

### LDC 1.4.0

Results:
 * minimum time: 436 ms => 48.4646 x real-time
 * median  time: 439 ms => 48.1334 x real-time
 * average time: 439.767 ms => 48.0494 x real-time


### LDC 1.5.0-b1

Results:
 * minimum time: 429 ms => 49.2553 x real-time
 * median  time: 432 ms => 48.9133 x real-time
 * average time: 433.3 ms => 48.7665 x real-time


Results are only precise up to the ~0.5% range.

So approx. +2.5% relative improvement in LDC 1.5.0-b1 vs LDC 
1.2, free lunch is always good.


The number of flags in -help-hidden seems very large, I haven't 
tried any yet (apart from -enable-unsafe-fp-math which seems to 
lose speed like -ffast-math, for this benchmark).


would it help to have them grouped/filterable by category?
e.g.
$ldc2 -help-hidden=category
common
sanitiser
asan
tsan
cache
disable
enable
debug
optimisation
compiler-diaganostics
...

$ldc2 -help-hidden=asan
-asan-always-slow-path
...




Re: LDC 1.5.0-beta1

2017-10-23 Thread Guillaume Piolat via Digitalmars-d-announce

On Monday, 23 October 2017 at 22:06:43 UTC, Johan Engelen wrote:
Guillaume, can you try with building your own LTO version of 
the standard library and do new measurements?


Something like this should work:
```
ldc-build-runtime --reset --dFlags="-flto=full" 
BUILD_SHARED_LIBS=OFF


ldc2 -your-normal-compile-flags -flto=full 
-L-L./ldc-build-runtime.tmp/lib

```

Use `--dFlags="-flto=full;-ar="` for now if you are using macOS 
(will not be needed with the next beta).


(you can try with `-flto=thin` too for much faster link times)

Cheers,
  Johan


So far my benchmark scripts are Windows-only so no LTO is 
available AFAIK. I can work on providing such measures (or any 
flags you want) on OSX in the future.


Re: LDC 1.5.0-beta1

2017-10-23 Thread Johan Engelen via Digitalmars-d-announce
On Monday, 23 October 2017 at 21:26:46 UTC, Guillaume Piolat 
wrote:
Some measurements for some audio processing. Output are 
identical across compilers (30 measures).


Guillaume, can you try with building your own LTO version of the 
standard library and do new measurements?


Something like this should work:
```
ldc-build-runtime --reset --dFlags="-flto=full" 
BUILD_SHARED_LIBS=OFF


ldc2 -your-normal-compile-flags -flto=full 
-L-L./ldc-build-runtime.tmp/lib

```

Use `--dFlags="-flto=full;-ar="` for now if you are using macOS 
(will not be needed with the next beta).


(you can try with `-flto=thin` too for much faster link times)

Cheers,
  Johan


Re: LDC 1.5.0-beta1

2017-10-23 Thread Guillaume Piolat via Digitalmars-d-announce
Some measurements for some audio processing. Output are identical 
across compilers (30 measures).



### LDC 1.2.0

Results:
 * minimum time: 440 ms => 48.024 x real-time
 * median  time: 443 ms => 47.6987 x real-time
 * average time: 444.233 ms => 47.5663 x real-time

### LDC 1.3.0

Results:
 * minimum time: 439 ms => 48.1334 x real-time
 * median  time: 442 ms => 47.8067 x real-time
 * average time: 442.6 ms => 47.7419 x real-time

### LDC 1.4.0

Results:
 * minimum time: 436 ms => 48.4646 x real-time
 * median  time: 439 ms => 48.1334 x real-time
 * average time: 439.767 ms => 48.0494 x real-time


### LDC 1.5.0-b1

Results:
 * minimum time: 429 ms => 49.2553 x real-time
 * median  time: 432 ms => 48.9133 x real-time
 * average time: 433.3 ms => 48.7665 x real-time


Results are only precise up to the ~0.5% range.

So approx. +2.5% relative improvement in LDC 1.5.0-b1 vs LDC 1.2, 
free lunch is always good.


The number of flags in -help-hidden seems very large, I haven't 
tried any yet (apart from -enable-unsafe-fp-math which seems to 
lose speed like -ffast-math, for this benchmark).


Re: LDC 1.5.0-beta1

2017-10-23 Thread Johan via Digitalmars-d-announce

On Sunday, 22 October 2017 at 09:34:56 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce the first beta 
for LDC 1.5.0.


Jon Degenhardt did some nice LTO testing, see: 
https://github.com/ldc-developers/ldc/issues/2380


-Johan





Re: LDC 1.5.0-beta1

2017-10-22 Thread Guillaume Piolat via Digitalmars-d-announce

On Sunday, 22 October 2017 at 09:34:56 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce the first beta 
for LDC 1.5.0. The highlights of version 1.5 in a nutshell:


* Based on D 2.075.1.
* Polished LLVM 5.0 support (now also used for the prebuilt 
release packages).

* ~25 new advanced command-line options for codegen fine-tuning.
* Bugfixes, as always.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0-beta1


Thanks to everybody contributing!


Wow, sounds interesting!


Re: LDC 1.5.0-beta1

2017-10-22 Thread Nordlöw via Digitalmars-d-announce

On Sunday, 22 October 2017 at 09:34:56 UTC, kinke wrote:
Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0-beta1


Thanks to everybody contributing!


Thanks!


Re: LDC 1.5.0-beta1

2017-10-22 Thread Ilya Yaroshenko via Digitalmars-d-announce

On Sunday, 22 October 2017 at 09:34:56 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce the first beta 
for LDC 1.5.0. The highlights of version 1.5 in a nutshell:


* Based on D 2.075.1.
* Polished LLVM 5.0 support (now also used for the prebuilt 
release packages).

* ~25 new advanced command-line options for codegen fine-tuning.
* Bugfixes, as always.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0-beta1


Thanks to everybody contributing!


Thanks!