views:

162

answers:

4

I am facing a performance issue on a multi-core (8+) architecture with software written in C++ / VistualStudio / WindowsXP.

Suddenly I realized that I have no idea of the performances of my L1 and L2 cache and CPU->to->Memory bandwidth.

I have tested several tools (including VTune, Glowcode, etc, etc) but all of them fails when tested on load in a multicore architecture (which is the very reason why I need them!).

Can you suggest any other tool which is not so fancy in doing graphs but can give me at least few indications of my cache/memory performances or can suggest snippets of code to manually instrument my application?

Thanks!

+1  A: 

Are you pretty sure that's the source of your performance problem? If not, it might be a good idea to look at other things first.

There's a good article on multi-threaded programming, and various hidden problems with it, here. Maybe that will help?

Head Geek
A: 

Maybe Memtest86+ is what you are looking for.

Xqj37
A: 

I believe the EVEREST test suite will check your memory/cpu/cache performance. You may want to look into this site. Lavalys' Everest Page

A: 

you can use hardware counters to measure the L1 and L2 miss rate; however, I am not too sure which library package to use with a windows platform.

Mark