Re: New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-25 Thread ketmar via Digitalmars-d-announce

On Sunday, 25 December 2016 at 19:41:38 UTC, Johannes Pfau wrote:

Happy holidays everybody,


great work! long live gdc! ;-)


Re: Blog Post - profiling with perf and friends

2016-12-25 Thread Martin Nowak via Digitalmars-d-announce
On Sunday, 25 December 2016 at 20:45:13 UTC, Andrei Alexandrescu 
wrote:
The tracker would be easily accessible and would flag PRs that 
decrease compilation speed by more than a tolerance. One OS 
should be enough for now. We need a clean machine (not shared 
for many other tasks). The Foundation can provide a Linux 
machine in my basement. Looking at our A-Team Seb, Vladimir, 
Martin please let me know if this is something you'd pursue.


Added as feature to our CI ideas.
https://trello.com/c/zSnpnhrz/68-benchmark-ci
This would be really easy to integrate as separate executor in a 
reworked Jenkins setup. It would be quite a lot of effort as 
separate project though.


As said in the 17th planning, that's up for January, then we 
might revisit this in Feb or so. Since benchmarks aren't that 
critical the slightly reduced reliability of a home server might 
suffice, performant servers are really cheap though.


Re: Blog Post - profiling with perf and friends

2016-12-25 Thread Stefan Koch via Digitalmars-d-announce

On Sunday, 25 December 2016 at 19:16:03 UTC, Martin Nowak wrote:
Just a few infos on using perf and related tools for profiling 
on linux.


https://code.dawg.eu/profiling-with-perf-and-friends.html


Nice article.

There is a nice gui tool for the same purpose,
http://developer.amd.com/tools-and-sdks/opencl-zone/codexl/
I find it easier to use then perf since it lists the useful 
statistics as a table.

Also very useful is valgrind --tool=callgrind
and the gui for it kcachegrind.
http://kcachegrind.sourceforge.net/

I used it to optimize the newCTFE code with great success.
Also I would recommend to compile the executable you are 
profiling with -g -gc, as you will be able to see which lines of 
code asm instructions correspond to.




Re: Blog Post - profiling with perf and friends

2016-12-25 Thread Andrei Alexandrescu via Digitalmars-d-announce

On 12/25/2016 02:16 PM, Martin Nowak wrote:

Just a few infos on using perf and related tools for profiling on linux.

https://code.dawg.eu/profiling-with-perf-and-friends.html


That's awesome and very easy to follow, reproduce, and tweak.

One thing that would be terrific (also in keep with Vladimir's work 
https://blog.thecybershadow.net/2015/05/05/is-d-slim-yet/ which btw does 
not seem to work anymore - clicking on the graph takes to the error page 
http://digger.k3.1azy.net/trend/) is having an automated tracker of 
build performance. The tracker would be easily accessible and would flag 
PRs that decrease compilation speed by more than a tolerance. One OS 
should be enough for now. We need a clean machine (not shared for many 
other tasks). The Foundation can provide a Linux machine in my basement. 
Looking at our A-Team Seb, Vladimir, Martin please let me know if this 
is something you'd pursue.


Two other things. One, can one aggregate outputs from several perf runs? 
The unittest builds are likely to exercise other corners of the 
compiler; they're one per module so they'd entail multiple perf runs.


Second, in my dreams we should have @benchmark unittests in phobos that 
are run and produce a nice tabular output, for tabulation and plotting. 
Such output would make it easy to track how performance of the standard 
library is evolving across releases.



Thanks,

Andrei



Re: New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-25 Thread Andrei Alexandrescu via Digitalmars-d-announce

On 12/25/2016 02:41 PM, Johannes Pfau wrote:

Happy holidays everybody,

I'm happy to finally announce the release of new GDC binaries at
https://gdcproject.org/downloads . GDC is the GNU D Compiler, a D
compiler using GCC as the compiler backend.


Congratulations! We are very hopeful that all compiler will keep tightly 
together in 2017 and beyond, and it's clear you are taking good steps 
toward making that happen. -- Andrei


Re: New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-25 Thread Johan Engelen via Digitalmars-d-announce

On Sunday, 25 December 2016 at 19:41:38 UTC, Johannes Pfau wrote:

Happy holidays everybody,

I'm happy to finally announce the release of new GDC binaries 
at https://gdcproject.org/downloads .


Gratz!

Hope you can add it to d.godbolt.org soon. ;)

-Johan



New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-25 Thread Johannes Pfau via Digitalmars-d-announce
Happy holidays everybody,

I'm happy to finally announce the release of new GDC binaries at
https://gdcproject.org/downloads . GDC is the GNU D Compiler, a D
compiler using GCC as the compiler backend.

This release was delayed by massive internal changes in GDC in
preparation for the DDMD frontend and related regressions. We think GDC
is now sufficiently stable for a new release though. New features since
the last release include:

* D frontend updated to 2.068.2, the last C++ frontend version. We
  additionally include some backported changes (e.g. loading libcurl
  dynamically). Although this is of course still kind of outdated it
  should be a useful improvement compared to the last release (2.066.1).

* New GCC versions. The new binaries are based on these backend
  versions: 4.8.5, 4.9.4, 5.4.0, 6.3.0. We use new, customized build
  scripts for GCC to produce 40 different toolchains from 5
  configuration files.

* Multilib support: The new build scripts allow for building multilib
  compilers. This means there are now less compiler archives to choose
  from and one compiler can compile for different targets using -m
  flags. This includes the famous -m32/-m64 for x86 but we now also
  support -mfloat-abi=soft/softfp/hard for the ARM target.

* Shared library support: We added support for shared libraries to GDC
  and all toolchain binaries ship with static and shared libraries
  installed. GDC still defaults to static libraries so pass the
  -shared-libphobos flag to use the shared library instead.

* New mechanism to link system dependencies: All system libraries
  needed by phobos (-ldl, -lrt, -latomic) are detected in the
  phobos ./configure script. The required dependencies are added to a
  libgphobos.spec file and installed along with the libgphobos.so/.a
  libraries. GDC then reads this file to detect the required libraries,
  so the libraries are no longer hard coded in GDC. Note for
  distribution packagers: You must make sure to manually install this
  file if you do not use the standard make install command.

* New GDMD tool: We now ship a new gdmd binary which replaces the old
  perl script. It's written in D and up-to-date with the DMD 2.068.2
  interface. Compared to the old script gdmd now does not need any
  additional dependencies and supports more advanced DMD functions
  (e.g gdmd -main -run a.d --program-args).

Travis-CI should pick up the new release from now on. Packagers can use
the following git tags when creating packages: v2.068.2_gcc6
v2.068.2_gcc5 v2.068.2_gcc4.9 v2.068.2_gcc4.8


Regards,
Johannes


Blog Post - profiling with perf and friends

2016-12-25 Thread Martin Nowak via Digitalmars-d-announce
Just a few infos on using perf and related tools for profiling on 
linux.


https://code.dawg.eu/profiling-with-perf-and-friends.html


Re: Many documentation examples can now be run online

2016-12-25 Thread Saurabh Das via Digitalmars-d-announce

On Saturday, 24 December 2016 at 06:55:37 UTC, Seb wrote:
On Saturday, 24 December 2016 at 06:08:49 UTC, Saurabh Das 
wrote:

[...]


Thanks for your feedback :)


[...]


Sure - that should be fairly trivial.


[...]


Yes, that would be pretty nice to have.
Unfortunately the maintainer of DPaste has been quite 
unresponsive in the past, so it's not possible with DPaste 
(e.g. we would need a simple POST API which returns a URL).
If someone is planning to reboot sth. like DPaste (e.g. with 
DUB support, fast caches, ...), please let us know!


I was using dpaste as an example. Any website which there's a D 
playground would work.


Infact are there any other that anyone is aware of?


Re: Silicon Valley D Meetup - December 22, 2016 - "The Curse of Knowledge: Et tu, D?" by Adam Wilson

2016-12-25 Thread Walter Bright via Digitalmars-d-announce

On 12/25/2016 2:15 AM, Adam Wilson wrote:

This one is on me. And I do apologize profusely. We were talking beforehand
about how we needed to remember to unmute, we had tested everything to make sure
it worked, and then in a fit of eagerness to get started, I forgot to switch
windows and unmute.

I would like to give this talk again as it generated some very good discussion
on the topic. Hopefully, with someone else in charge of A/V, we will have more
luck.


The failure of mine was the batteries on the wireless mike gave out about 14 
minutes in, which is where the audio cut off. Nobody noticed until the video was 
reviewed. Next time, I plan on bringing my own batteries.




Re: Silicon Valley D Meetup - December 22, 2016 - "The Curse of Knowledge: Et tu, D?" by Adam Wilson

2016-12-25 Thread Martin Nowak via Digitalmars-d-announce

On Thursday, 15 December 2016 at 08:20:37 UTC, Ali Çehreli wrote:
Come in-person at 6:30pm for food and drinks but plea^H^H^H^H 
RSVP so we know how much to order:


  https://www.meetup.com/D-Lang-Silicon-Valley/events/236253882/


Nice! Could you please add those Meetups to the dlang calendar?
http://forum.dlang.org/post/rsxfyebqlrryoblhy...@forum.dlang.org 
(see public calendar)




Re: Silicon Valley D Meetup - December 22, 2016 - "The Curse of Knowledge: Et tu, D?" by Adam Wilson

2016-12-25 Thread Adam Wilson via Digitalmars-d-announce

Ali Çehreli wrote:

On 12/15/2016 12:20 AM, Ali Çehreli wrote:


  https://www.meetup.com/D-Lang-Silicon-Valley/events/236253882/


The slides:
http://files.meetup.com/18234529/The%20Curse%20of%20Knowledge.pptx

The video: http://youtu.be/XjnBMfVTI0k

(There is no audio on the recording until 45:45.)

Ali



This one is on me. And I do apologize profusely. We were talking 
beforehand about how we needed to remember to unmute, we had tested 
everything to make sure it worked, and then in a fit of eagerness to get 
started, I forgot to switch windows and unmute.


I would like to give this talk again as it generated some very good 
discussion on the topic. Hopefully, with someone else in charge of A/V, 
we will have more luck.


--
Adam Wilson
IRC: LightBender
//quiet.dlang.dev