truedat101 / dlang-sv-community

A community repository for stuff related to #dlang Silicon Valley Meetup group
http://www.meetup.com/D-Lang-Silicon-Valley/
2 stars 1 forks source link

Document common D performance tools, libraries, and techniques #40

Open truedat101 opened 7 years ago

truedat101 commented 7 years ago

If you do a simple search:

dlang performance, you don't get a lot of useful hits. In fact, sad but true, I searched "dlang performance" and it turned up the meetup URL in the top 3. We need to document these things and publish to the web so some hits turn up.

truedat101 commented 7 years ago

Discussion related to this meetup:

http://www.meetup.com/D-Lang-Silicon-Valley/events/232566192/?eventId=232566192

truedat101 commented 7 years ago

Sadly, the meetup is like the third hit in a search. Nobody writes about this topic outside the forums.

truedat101 commented 7 years ago

Here's a useful link about using dmd --profile http://forum.dlang.org/post/ko939m$4vq$1@digitalmars.com and a super deep (38 pages) discussion

truedat101 commented 7 years ago

Oddball set of benchmarks: http://wiki.dlang.org/BenchMarks

truedat101 commented 7 years ago

D Missing from: http://benchmarksgame.alioth.debian.org/

That sucks. :fire:

truedat101 commented 7 years ago

Ali will be writing a book "D Performance" :laughing:

truedat101 commented 7 years ago

Andrew's dmd profiler vis: http://code.dlang.org/packages/d-profile-viewer

truedat101 commented 7 years ago

Compiler choices matter, ldc vs. dmd. Tooling for each may vary. gc stats can be used with -vgc for dmd, or (different flag) for ldc.

truedat101 commented 7 years ago

Interesting pointer to this topic of gc: https://pointersgonewild.com/2014/09/09/ds-garbage-collector-problem/

truedat101 commented 7 years ago

Super details on gc here: http://dlang.org/spec/garbage.html

Also, some discussion of the implications of GC in performance, why Andrew doesn't use phobos, and problem with @nogc in libphobos. Reference to: #33

truedat101 commented 7 years ago

Bitpacking like a madman from DCONF: http://www.slideshare.net/AndreiAlexandrescu2/dconf-2016-bitpacking-like-a-madman-by-amaury-sechet

https://www.youtube.com/watch?v=95O_y9fu6qk

truedat101 commented 7 years ago

Using floating point without losing your sanity from DConf 2016: https://www.youtube.com/watch?v=97bxjeP3LzY

truedat101 commented 7 years ago

Jon's performance analysis some simple program: http://forum.dlang.org/post/flxmwyeuhjcuekfeduar@forum.dlang.org

truedat101 commented 7 years ago

Jon would like a tool to analyze and detect AA copies (vs. not) to assist with code review.

truedat101 commented 7 years ago

Jon would like a tool that could detect when decode happens.

jondegenhardt commented 7 years ago

I (Jon) would also like tools to detect (flag) copies when dealing with arrays and slices. It's easy to create unintended copies, detection tools would be useful.