www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Would it be possible to have something like this for D?

reply bauss <jj_1337 live.dk> writes:
Rust has:
https://perf.rust-lang.org/

I think it would be very beneficial to have something similar for 
D.
Aug 22 2019
next sibling parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
Sorry, but I am to stupid, can you explain what exactly is displayed?
Aug 22 2019
parent reply matheus <matheus gmail.com> writes:
On Thursday, 22 August 2019 at 13:31:37 UTC, Martin Tschierschke 
wrote:
 On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
Sorry, but I am to stupid, can you explain what exactly is displayed?
I was confused too, but I think you need to access the options to see the evolution between the versions like for example: https://perf.rust-lang.org/dashboard.html But the main page is weird as it just shows: "Loading & rendering data.. This may take a while! Updated as of: 8/22/2019, 3:14:49 AM" And nothing happens. Even when I tried to input some "start" and "end" dates. Matheus.
Aug 22 2019
parent bauss <jj_1337 live.dk> writes:
On Thursday, 22 August 2019 at 14:37:45 UTC, matheus wrote:
 On Thursday, 22 August 2019 at 13:31:37 UTC, Martin 
 Tschierschke wrote:
 On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
Sorry, but I am to stupid, can you explain what exactly is displayed?
I was confused too, but I think you need to access the options to see the evolution between the versions like for example: https://perf.rust-lang.org/dashboard.html But the main page is weird as it just shows: "Loading & rendering data.. This may take a while! Updated as of: 8/22/2019, 3:14:49 AM" And nothing happens. Even when I tried to input some "start" and "end" dates. Matheus.
The front page should show a graphs too. At least it does for me in Chromium (Windows)
Aug 22 2019
prev sibling next sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
That is more-or-less the idea behind this proposed project: https://github.com/dlang/projects/issues/41 It just needs a champion. Mike
Aug 22 2019
parent Mike Parker <aldacron gmail.com> writes:
On Thursday, 22 August 2019 at 14:00:42 UTC, Mike Franklin wrote:

 It just needs a champion.
A SAOC proposal has been submitted for it.
Aug 22 2019
prev sibling parent reply JN <666total wp.pl> writes:
On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
The charts look very pretty, but I am skeptical of the added value of them. Even if we had such graphs for D, there needs to be action done. What if someone commits a change that makes the performance go bad. Someone needs to notice that the graph went down, an issue would have to be reported. And the likely response would be "yeah but this change is very important and I am not sure why it affects the performance this bad", causing performance regressions to stack up over time. At the place I am employed at we do a lot of performance dashboards like this one, and I know from experience that most of the metrics like instruction counts are too vague to really guide people. Wall time would kind of work, but then you'd need a long enough benchmark so that any performance drops are significant enough to sound an alarm.
Aug 23 2019
parent Max Haughton <maxhaton gmail.com> writes:
On Friday, 23 August 2019 at 08:33:49 UTC, JN wrote:
 On Thursday, 22 August 2019 at 10:30:59 UTC, bauss wrote:
 Rust has:
 https://perf.rust-lang.org/

 I think it would be very beneficial to have something similar 
 for D.
The charts look very pretty, but I am skeptical of the added value of them. Even if we had such graphs for D, there needs to be action done. What if someone commits a change that makes the performance go bad. Someone needs to notice that the graph went down, an issue would have to be reported. And the likely response would be "yeah but this change is very important and I am not sure why it affects the performance this bad", causing performance regressions to stack up over time. At the place I am employed at we do a lot of performance dashboards like this one, and I know from experience that most of the metrics like instruction counts are too vague to really guide people. Wall time would kind of work, but then you'd need a long enough benchmark so that any performance drops are significant enough to sound an alarm.
I proposed a SAOC thing to this, and one of things I was envisaging is too not only test builds against master (LDC/gdc/DMD whatever) but also to test against different versions of the compiler e.g. we can see very clearly if something regresses in terms of performance (and fire an alert in some way). As to runtime performance, it's slightly more problematic because AFAIK performance in a cloud instance isn't overly consistent but my idea is time them (for a baseline) but also point various different types code analysers and profilers at them so we can find out why (hopefully) something regresses. This would hopefully go from the level of simple function profiling to more detailed heap and cache measurements.
Aug 23 2019