This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: cache misses in gcc 3.3
On Sun, Feb 09, 2003 at 11:31:44PM +0100, Daniel Berlin wrote:
>
>
> On Sun, 9 Feb 2003, Andi Kleen wrote:
>
> >
> > I ran a slightly older gcc 3.3 on linux in cachegrind
> > (http://developer.kde.org/~sewardj/) on an Athlon with 256K cache.
> > cachegrind is a cache simulator and gives detailed reports about
> > the caching behaviour of a program.
>
> Cachegrind usually gives me *wildly* different results than real profiling
> (either with oprofile or vtune for linux).
I double checked with oprofile now (ordering the other way round)
For dcaches it is not that much different - most of the functions
idenitified as hot by cachegrind are hot in oprofile too.
I guess the difference can be explained in the difference methologies.
cachegrind runs an exact model, while oprofile does an statistical
sample (i used an NMI every 2000 events) and has to fight with an
out-of-order CPU with a large issue window mixing instructions too.
New interesting is lookup_tag(). I'm not sure why it gets
that many dcaches misses and isn't noticed by cachegrind at all.
Could be an OOO artifact.
yyparse/bison slowness is even more clearly visible here.
-Andi
Cpu type: Athlon
Cpu speed was (MHz estimation) : 896.198
Counter 0 counted DATA_CACHE_MISSES events (Data cache misses) with a unit mask of 0x00 (Not set) count 2000
vma samples %-age symbol name linenr info
[...]
0808b6e0 64 1.48561 init_alias_analysis /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/alias.c:2692
081fae60 65 1.50882 side_effects_p /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/rtlanal.c:2256
0822ca50 76 1.76416 ggc_alloc /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/ggc-page.c:872
08112560 85 1.97307 gt_ggc_mx_rtx_def /src/src/gcc-3.3/obj/gcc/gtype-desc.c:374
081fa1b0 86 1.99629 note_stores /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/rtlanal.c:1610
08049610 143 3.31941 yyparse /usr/share/bison/bison.simple:383
0822d100 188 4.36397 ggc_pop_context /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/ggc-page.c:1257
0822cc10 304 7.05664 ggc_set_mark /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/ggc-page.c:1002
0805a2d0 327 7.59053 gt_ggc_mx_lang_tree_node /src/src/gcc-3.3/obj/gcc/gt-c-decl.h:44
080543e0 363 8.42618 lookup_tag /src/src/gcc-3.3/obj/gcc/../../gcc/gcc/c-decl.c:2343