Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread Basile B. via Digitalmars-d-announce
On Sunday, 18 November 2018 at 01:12:04 UTC, Vladimir Panteleev 
wrote:

On Saturday, 17 November 2018 at 23:01:23 UTC, Basile B. wrote:
I put a start to the project then today i remembered 
callgrind...
What are the pros and cons in comparison with callgrind ? By 
coincidence i had to callgrind dmd today and got answers to a 
performance issue in a very straight forward way because for 
example:


$ valgrind --tool=callgrind generated/debug/dmd somefile.d

is very simple procedure and produce a file that's easy to 
interpret in kcachegrind (which can then also produce a graph 
in ps format). Note that i don't try to discredit your work, 
i'm just curious to know.


It sounds like you misunderstood the purpose of dmdprof.

dmdprof will show you a profile graph of the source code *being 
compiled* (i.e. which parts take more time to compile and which 
parts cause other parts to get compiled), not of DMD source 
code.


Damn, you're right. Actually i didn't try your stuff at all and 
instead used callgrind intuitively. Bad advice was here: 
https://github.com/dlang/dmd/pull/8945#issuecomment-439388332. 
Also along the thread there was discussion about building DMD and 
one saying that DMD had not been profiled for ages.


Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread Vladimir Panteleev via Digitalmars-d-announce

On Saturday, 17 November 2018 at 23:01:23 UTC, Basile B. wrote:
I put a start to the project then today i remembered 
callgrind...
What are the pros and cons in comparison with callgrind ? By 
coincidence i had to callgrind dmd today and got answers to a 
performance issue in a very straight forward way because for 
example:


$ valgrind --tool=callgrind generated/debug/dmd somefile.d

is very simple procedure and produce a file that's easy to 
interpret in kcachegrind (which can then also produce a graph 
in ps format). Note that i don't try to discredit your work, 
i'm just curious to know.


It sounds like you misunderstood the purpose of dmdprof.

dmdprof will show you a profile graph of the source code *being 
compiled* (i.e. which parts take more time to compile and which 
parts cause other parts to get compiled), not of DMD source code.




Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread Basile B. via Digitalmars-d-announce
On Tuesday, 6 November 2018 at 18:00:22 UTC, Vladimir Panteleev 
wrote:
This is a tool + article I wrote in February, but never got 
around to finishing / publishing until today.


https://blog.thecybershadow.net/2018/02/07/dmdprof/

Hopefully someone will find it useful.


I put a start to the project then today i remembered callgrind...
What are the pros and cons in comparison with callgrind ? By 
coincidence i had to callgrind dmd today and got answers to a 
performance issue in a very straight forward way because for 
example:


$ valgrind --tool=callgrind generated/debug/dmd somefile.d

is very simple procedure and produce a file that's easy to 
interpret in kcachegrind (which can then also produce a graph in 
ps format). Note that i don't try to discredit your work, i'm 
just curious to know.


Ported js13k game underrun to D targeting webassembly

2018-11-17 Thread Sebastiaan Koppe via Digitalmars-d-announce
Underrun is small game build by Dominic Szablewski for the 2018 
js13kGames competition.


I decided to port it to D and to target webassembly. You can play 
the game here https://skoppe.github.io/spasm/examples/underrun/


It is part of my endeavour into the wonderful world of 
webassembly. I specifically choose this project so I could get a 
feel for how to call web api's other than the dom, i.e. WebGL and 
AudioContext.


Porting went pretty smooth, except for the fact that I wanted it 
to be done in betterC, which turned out to cripple lots of things 
I am used to rely on.


Things like:

- having to write closures by hand
- not being able to use stdx.allocator
- almost no use of phobos (even at CTFE)

D could definitely use some love in that area. I was specifically 
stumped that stdx.allocator doesn't work in betterC; if somewhere 
is a good place to use stdx.allocator you would expect it to be 
betterC, but alas.


Had lots of fun though. Hope you like it.


Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread welkam via Digitalmars-d-announce
On Saturday, 17 November 2018 at 12:36:30 UTC, rikki cattermole 
wrote:

Just in case, did you disable your anti-virus first?
Had to edit registry to turn that thing off and it still some 
times popup. Microsoft is so annoying.

https://imgur.com/a/x3cKjZm



DIP 1016--ref T accepts r-values--Final Review Begins

2018-11-17 Thread Mike Parker via Digitalmars-d-announce
The last chance for community feedback on DIP 1016, "ref T 
accepts r-values", is now underway. Please do not leave any 
feedback in this thread, but rather in the review thread in the 
General forum:


https://forum.dlang.org/post/uxfftudiadniozpui...@forum.dlang.org


Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread rikki cattermole via Digitalmars-d-announce

On 18/11/2018 1:29 AM, welkam wrote:
I just updated DMD on my windows and tried to compile hello world. It 
took 7.4 sec. Something is not right. Can anyone reproduce? On the same 
mashine running linux it compiles and runs in 0.1 sec


PS C:\Users\Welkam\Desktop\Projects> Measure-Command {dmd -run main.d}


Days  : 0
Hours : 0
Minutes   : 0
Seconds   : 7
Milliseconds  : 418
Ticks : 74184371
TotalDays : 8.58615405092593E-05
TotalHours    : 0.0020606769722
TotalMinutes  : 0.12364061833
TotalSeconds  : 7.4184371
TotalMilliseconds : 7418.4371


Just in case, did you disable your anti-virus first?


Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread welkam via Digitalmars-d-announce
I just updated DMD on my windows and tried to compile hello 
world. It took 7.4 sec. Something is not right. Can anyone 
reproduce? On the same mashine running linux it compiles and runs 
in 0.1 sec


PS C:\Users\Welkam\Desktop\Projects> Measure-Command {dmd -run 
main.d}



Days  : 0
Hours : 0
Minutes   : 0
Seconds   : 7
Milliseconds  : 418
Ticks : 74184371
TotalDays : 8.58615405092593E-05
TotalHours: 0.0020606769722
TotalMinutes  : 0.12364061833
TotalSeconds  : 7.4184371
TotalMilliseconds : 7418.4371







Re: Profiling DMD's Compilation Time with dmdprof

2018-11-17 Thread Vladimir Panteleev via Digitalmars-d-announce

On Saturday, 17 November 2018 at 06:21:20 UTC, Manu wrote:

What was the batch size for module grouping?


I just use dmd -i, which compiles everything at once (except 
Phobos/Druntime).