Você deu uma olhada no cachegrind , que é parte do realmente excelente Valgrind pacote de perfis de memória?
Cachegrind, pelo menos, dá uma idéia de quanto de cache está ocorrendo. Você pode achar que seu aplicativo trava o cache tanto que não importa se você tem o cache L2 / L3 maior de um Xeon ou não, então, novamente, você pode estar preso ao pipeline da CPU e a thrashing pode não estar ocorrendo muito.
Cachegrind também permite que você defina tamanhos de cache arbitrários, assim você poderá testar seu código em vários cenários de tamanho de cache.