On 06/04/2012 6:19 PM, Sebastian Sylvan wrote:
What do you guys use to profile rust programs? Just manual timers in the code, or do you have any tools to recommend?
On linux, I use 'perf', it's part of the kernel utilities, pretty widely available, very high quality. Hardware sampling, numerous hardware events, flat and hierarchical modes, differential modes, summary modes, etc.
(The graphs on bot.rust-lang.org are generated by parsing the output of perf runs)
Having some kind of sampling profiler would be awesome.
Stock "system" profilers work on most platforms; our symbols can be read by them. Instruments, shark, xperf, oprofile, callgrind, etc.
(I can't resist! Eye candy, as of last night: http://i.imgur.com/77lAr.png . That's 300k triangles, at 512x512 and 3x3 super sampling, with 1 area light and 1-bounce global illumination, Took just under 6 minutes on my Core i7 2600k - single core, since there's no real way to write parallel programs in rust yet).
Do you mean data-parallel or task-parallel? We are (I hope) able to do the latter reasonably well at this point. Not flawlessly, but tolerably.
-Graydon _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
