digitalmars.D.ldc - Profiling the D code with gperftools (Google Performance Tools)
- Prasun Anand (22/22) Mar 30 2017 Hi,
- Johan Engelen (6/14) Mar 30 2017 Nice.
- Prasun Anand (5/21) Mar 31 2017 Thanks :)
Hi, I have been working on a Bioinformatics tool that handles large matrices, say 8000 rows * 8000 columns. I was interested in profiling my D code and find out which function executes for what duration(clock ticks). I used gperftools(Google Performance Tools) and hence, created the D bindings for it and released it as a dub package "gperftools_d" Links: 1. https://github.com/prasunanand/gperftools_d 2. https://code.dlang.org/packages/gperftools_d It shows really cool output as graph visualizations and which are the critical nodes (functions that take maximum time). A very simple example of visualization can be found [here](https://github.com/prasunanand/gperftools_d/blob/master/examples/profile.pdf). Here I am calculating Fibonacci series. It has other cool features too like heap_profiling, stacktrace, etc. I hope this tool would be helpful to D community and would love to hear your feedback. Regards, Prasun
Mar 30 2017
On Thursday, 30 March 2017 at 17:51:34 UTC, Prasun Anand wrote:Hi, I have been working on a Bioinformatics tool that handles large matrices, say 8000 rows * 8000 columns. I was interested in profiling my D code and find out which function executes for what duration(clock ticks). I used gperftools(Google Performance Tools) and hence, created the D bindings for it and released it as a dub package "gperftools_d"Nice. Perhaps you could try and get D functionname demangling in gperftools? ;-) cheers, Johan
Mar 30 2017
On Thursday, 30 March 2017 at 20:56:18 UTC, Johan Engelen wrote:On Thursday, 30 March 2017 at 17:51:34 UTC, Prasun Anand wrote:Thanks :) Function-name demangling might be there in the next release :). Regards, PrasunHi, I have been working on a Bioinformatics tool that handles large matrices, say 8000 rows * 8000 columns. I was interested in profiling my D code and find out which function executes for what duration(clock ticks). I used gperftools(Google Performance Tools) and hence, created the D bindings for it and released it as a dub package "gperftools_d"Nice. Perhaps you could try and get D functionname demangling in gperftools? ;-) cheers, Johan
Mar 31 2017