Code Profiling on AMD Systems?
streak writes "After looking around at some profilers for AMD chips (I'm currently developing on Windows .NET so oprofile, dtrace, and other open source profilers are out) like AMD's CodeAnalyst and Microsoft's .NET Profiler, I've seen nothing that even comes close to being useful for function timing, call graphs, and the like. I'm not looking for micro-optimization (i.e. assembly tweaking - I am after all in .NET), but more for macro-optimization (identifying slow functions, reducing number of repeated calls to functions, etc). What I'm comparing all these tools to is VTune (which is Intel only). What do people use for profiling on AMD systems on Windows? Do you develop on an Intel box, do macro-optimization with VTune, and then just run that code on the AMD system?"
If you prefer working with VTune, just use VTune. At a high level, it doesn't matter whether you are working on an AMD or Intel CPU since the .NET JIT code will be almost identical.
.NET tools. Its not worth your time and effort to use inferior products just for the sake of using AMD hardware. Just profile your code on an intel box and depoly on any box (since .NET doesn't care).
.NET, but for C++ nothing beats intel's C++ compiler and profiling tools. Even though I strongly prefer AMD hardware (I don't use laptops much), I keep a few intel boxes around for developing high performance C++.
The intel tools are absolutely fantastic and integrate perfectly with VS and most other
I have't worked much with
LL
I've had some fairly good experiences with the Profiling portion of DevPartner (used to be TrueTime from NuMega.) The call graphs are very easy to navigate, and the data is quite digestable (the coverage analysis is quite nice too.)
I don't think it's cheap, but I've never seen a more elegant solution.
NProf is free and works, though it won't win any awards. Visual Studio 2005 Team System (not professional) includes a code profiler.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
The same company that makes the java IDE IntelliJ IDEA makes a profiler for .NET called dottrace profiler that is very good for .NET apps. It has helped me identify and fix a long list of problems in the .NET apps that I have to maintain. I would highly recommend it. You can find it yourself on the front of jetbrains.com.
Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
> I'm a fucking moron, how do I tie my shoes?
Since you havent provided any more details I'm asuming you want to run barefeet. There are no shoelaces involved.
Please consult your local high voltage line.
Check out AQTime.
I use it for profiling big multi-threaded client/server applications and it usually comes in handy at spotting memory leaks and the bottlenecks in the code.
I use it with Delphi's native win32 compiler, but it supports a wide array of platforms. I believe it supports everything you need on .NET and the price tag is quite affordable.
--- I w00t, therefore I'm l33t.
GNU/Linux - a printer driver gone horribly wrong
;)
The idea of GNU started with a printer driver. Linux started entirely independently as a terminal emulator. Get your facts straight before you poke fun.
I've had really good luck with Ants. I found it alot more intuitive than AQTune.