[rust-dev] Performance optimization
graydon at mozilla.com
Fri Apr 6 21:31:38 PDT 2012
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
> Having some kind of sampling profiler would be
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
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.
More information about the Rust-dev