AMD CodeAnalyst equivalence (profile cache hit) on x86?

Started by
5 comments, last by Hodgman 12 years, 11 months ago
AMD CodeAnalyst can run on Windows XP on X86, but what a pity that it can't profile cpu cache events on X86.

Is there any AMD CodeAnalyst equivalence -- free, can profile cpu cache miss -- on X86 and Windows XP?

If no such a profile, what's the practical way to optimize for cpu cache miss issue?
I did try some optimization and improve the performance for 10%, but I believe there are more to improve.

Hint?

https://www.kbasm.com -- My personal website

https://github.com/wqking/eventpp  eventpp -- C++ library for event dispatcher and callback list

https://github.com/cpgf/cpgf  cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.

Advertisement
It may depend on CPU, not the profiler.

CodeAnalyst can definitely report cache misses. It may be that either XP or the CPU you use cannot report them.
AMD CodeAnalyst can certain report cache miss problems but ONLY on AMD CPUs afaik.

AMD CodeAnalyst can certain report cache miss problems but ONLY on AMD CPUs afaik.


Yes!
And I was an Intel fan.
That's why I'm looking for equivalence on X86 + XP.

https://www.kbasm.com -- My personal website

https://github.com/wqking/eventpp  eventpp -- C++ library for event dispatcher and callback list

https://github.com/cpgf/cpgf  cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.

There are a few profilers out there but I don't know how they are with regards to cache misses. Intel does have a library you can use to get a lot of information back; Intel Performance Counter Monitor . But you have to do some leg work yourself.

Finally I just wanted to note something about your terms; Both AMD and Intel CPUs are x86 and x64 processors, so saying that you want 'x86' is somewhat meaningless. When talking about things like this make sure to mention the CPU in use as this adjusts the replies you are likely to get :)

There are a few profilers out there but I don't know how they are with regards to cache misses. Intel does have a library you can use to get a lot of information back; Intel Performance Counter Monitor . But you have to do some leg work yourself.

Finally I just wanted to note something about your terms; Both AMD and Intel CPUs are x86 and x64 processors, so saying that you want 'x86' is somewhat meaningless. When talking about things like this make sure to mention the CPU in use as this adjusts the replies you are likely to get :)


AFAIR, Intel made the first x86, and AMD is only x86 compatible, no?
In my mind, x86 just equals to Intel :)

https://www.kbasm.com -- My personal website

https://github.com/wqking/eventpp  eventpp -- C++ library for event dispatcher and callback list

https://github.com/cpgf/cpgf  cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.

x86 is the instruction set. On most 'regular' Windows PC, it's a choice between x86 and x86-64, and then optional extensions like SSE2/3/4, etc...
The term x86 refers to a family of instruction set architectures based on the Intel 8086 CPU. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's 8-bit based 8080 microprocessor and also introduced segmentation to overcome the 16-bit addressing barrier of such designs. The term x86 derived from the fact that early successors to the 8086 also had names ending in "86". Many additions and extensions have been added to the x86 instruction set over the years, almost consistently with full backward compatibility. The architecture has been implemented in processors from Intel, Cyrix, AMD, VIA, and many others.[/quote]

This topic is closed to new replies.

Advertisement