Slashdot Mirror


VTUNE-like Profiling Tools for Unix?

Milo_Mindbender asks: "I'm working on a rather large scale C++ graphics/networking project under Linux and am really missing having a low level code profiler like Intel's VTUNE available. In particular, I am looking for the ability to profile not just CPU use, but using the CPU performance counters to profile stuff like L1/L2 cache misses, pipeline stalls...etc. The other VTUNE capability I'm missing is the way it profiles the whole system, so the profile includes time spent in drivers, OS and everything else along with your program's profile. Has anyone seen anything like this for Linux? I hear Intel is working on VTUNE for Linux but they don't seem to have released anything yet."

7 comments

  1. I hate to say it... by Anonymous Coward · · Score: 1, Insightful

    but that's the price you pay for using C++. C is going to be a lot better choice for low-level programming and profiling.

  2. Consider a partial port by Snowfox · · Score: 3, Informative
    I haven't seen anything like this for Linux. Plenty of simple profiling tools, but nothing like VTune.

    I would strongly suggest that you port the performance-critical portion of your app to Windows. You can give it a null display interface, fake input, etc, just enough to keep the inner loop(s) running while you run VTune over it.

    Despite the previous poster's comment about C++ being bad for performance, a well-designed C++ app also makes it easy to set up portable test code as described above. This is one of the many reasons for which C++ is more and more often used for performance-critical work such as video game authoring.

  3. HOOF by Anonymous Coward · · Score: -1, Offtopic

    ARTED? aahahahahaha

  4. More songs banned in the US !!! by Anonymous Coward · · Score: -1, Offtopic

    More radio songs are banned in the US in response
    to the terrorist attacks.
    They are mostly B-side songs, therefore little known.
    I doubt anyone would miss them, but censorship is always a bad thing.
    Here are some of them:

    Alice in Chains - Rust Monster
    AC/DC - Santa Claus
    Atomic Kitten - Nice butts
    Bangles - Head full of Air
    Black Sabbath - White Friday
    Bush - Dyba
    Elton John - Bad Taste
    Garbage - Apple
    Korn - With P
    Led Zeppelin - lleh ot yawriats
    Lenny Kravitz - Cut my hair
    Limp Bizkit - Teenage dwarfs
    Louis Armstrong - I wasn't on the Moon
    Madonna - Sexual Obsession
    Michael Jackson - From Black to White
    Megadeth - Illiterate
    Metallica - Trash Noise
    Nina - Wrong name
    Nine Inch Nails - Hit by a Hammer
    Jimmy Hendrix - Grassheads
    John Lennon - It's only the manager
    Queen - King
    Pink Floyd - Another sick in the toilet
    Prince - Don't know my name
    Rammstein - Magensucht
    Rage against the machine - Fuck this car
    Red Hot Chilli Peppers - Curry
    REM - Loosing my temper
    Rolling Stones - Old Farts dancing
    Santana - Sleep
    Soundgarden - Caput Guitar
    The Beatles - Jonny dead
    The Doors - We are stuck
    U2 - Bloody, bloody boring
    Zombies - We not dead

    Fight intolerance, racism and censorship !

  5. OProfile by JohnZed · · Score: 3, Funny
    The closest thing to vtune for Linux is probably OProfile: oprofile.sourceforge.net. It uses the same performance-counter-based method as vtune, but it doesn't have a flashy GUI. It can, however, give an annotated dump of source code with performance numbers for each line.

    You might also want to check out KProf at http://kprof.sourceforge.net/. It's a nice GUI for gprof and functioncheck. FunctionCheck is much more detailed than gprof, but it requires re-linking the app. See http://www710.univ-lyon1.fr/~yperret/fnccheck/prof iler.html for more details.

  6. cacheprof by Anonymous Coward · · Score: 0

    Take a look at cacheprof.

    www.cacheprof.org

    It's a very nice tool for profiling C-code.

  7. You mean something like Cacheprof? by fermi's+ghost · · Score: 1

    What is Cacheprof?

    Cacheprof is a tool designed to help programmers quantify and understand the cache behaviour of programs and algorithms. With this knowledge, you might be able to modify your code to be more cache-friendly and thereby faster. Cacheprof will run your program, simulating a cache of your choice, and will annotate each line of source code with the number of memory references and the number of cache misses caused by that line. It will also print summaries per-procedure, and for the program as a whole. Finally, it will count the number of instructions executed, which can be very useful.