|
From: Jim C. <jim...@gm...> - 2006-10-20 20:38:10
Attachments:
regexp_notrie.t.valgrind
|
Ive just hacked the make test.valgrind target in perl-core to make it practical to run cachegrind (or others) against the regression-test-suite. What I want to know is do the numbers look good / bad / inconclusive, and more generally, what kind of numbers and variances to expect from various applications or application classes, languages, platforms etc. - perl is compiled down to macro-ops, then interpreted. How(much) does this raise miss-rates ? - any 'standard' apps for which cache numbers are well characterized ? - are instruction miss rates generally more stable than data-miss-rates across various apps ? - ie are they more language and/or platform dependent ? Here are some of my I1 miss-rates: vg1/t/op/getppid.t.valgrind:==9619== I1 miss rate: 1.89% vg1/t/op/getppid.t.valgrind:==9620== I1 miss rate: 1.89% vg1/t/op/getppid.t.valgrind:==9621== I1 miss rate: 1.90% vg1/t/op/getppid.t.valgrind:==9615== I1 miss rate: 1.91% vg1/t/op/getppid.t.valgrind:==9622== I1 miss rate: 1.90% vg1/t/op/glob.t.valgrind:==9625== I1 miss rate: 1.79% vg1/t/op/gmagic.t.valgrind:==9628== I1 miss rate: 1.60% vg1/t/op/goto.t.valgrind:==9630== I1 miss rate: 2.16% vg1/t/op/goto_xs.t.valgrind:==9645== I1 miss rate: 1.97% vg1/t/op/grent.t.valgrind:==9647== I1 miss rate: 1.93% vg1/t/op/grep.t.valgrind:==9652== I1 miss rate: 2.28% vg1/t/op/groups.t.valgrind:==9654== I1 miss rate: 1.53% vg1/t/op/gv.t.valgrind:==9659== I1 miss rate: 2.29% vg1/t/op/hashassign.t.valgrind:==9665== I1 miss rate: 2.26% vg1/t/op/hash.t.valgrind:==9662== I1 miss rate: 2.87% vg1/t/op/hashwarn.t.valgrind:==9668== I1 miss rate: 2.12% vg1/t/op/inccode.t.valgrind:==9674== I1 miss rate: 2.28% vg1/t/op/inccode.t.valgrind:==9675== I1 miss rate: 2.28% vg1/t/op/inccode.t.valgrind:==9676== I1 miss rate: 2.29% vg1/t/op/inccode.t.valgrind:==9677== I1 miss rate: 2.29% vg1/t/op/inccode.t.valgrind:==9678== I1 miss rate: 2.29% vg1/t/op/inccode.t.valgrind:==9679== I1 miss rate: 2.29% vg1/t/op/inccode.t.valgrind:==9680== I1 miss rate: 2.29% vg1/t/op/inccode.t.valgrind:==9681== I1 miss rate: 2.30% vg1/t/op/inccode.t.valgrind:==9682== I1 miss rate: 2.30% vg1/t/op/inccode.t.valgrind:==9683== I1 miss rate: 2.30% vg1/t/op/inccode.t.valgrind:==9684== I1 miss rate: 2.30% vg1/t/op/inccode.t.valgrind:==9685== I1 miss rate: 2.31% vg1/t/op/inccode.t.valgrind:==9672== I1 miss rate: 2.07% vg1/t/op/incfilter.t.valgrind:==9687== I1 miss rate: 2.28% vg1/t/op/inc.t.valgrind:==9670== I1 miss rate: 1.89% vg1/t/op/index.t.valgrind:==9691== I1 miss rate: 2.25% vg1/t/op/int.t.valgrind:==9710== I1 miss rate: 1.59% vg1/t/op/join.t.valgrind:==9712== I1 miss rate: 1.84% vg1/t/op/lc.t.valgrind:==9714== I1 miss rate: 1.99% vg1/t/op/lc_user.t.valgrind:==9718== I1 miss rate: 2.12% vg1/t/op/length.t.valgrind:==9720== I1 miss rate: 2.02% vg1/t/op/lex_assign.t.valgrind:==9727== I1 miss rate: 1.70% vg1/t/op/lex_assign.t.valgrind:==9728== I1 miss rate: 1.70% vg1/t/op/lex_assign.t.valgrind:==9723== I1 miss rate: 2.05% vg1/t/op/lfs.t.valgrind:==9732== I1 miss rate: 1.71% vg1/t/op/list.t.valgrind:==9736== I1 miss rate: 2.20% vg1/t/op/localref.t.valgrind:==9740== I1 miss rate: 2.22% vg1/t/op/local.t.valgrind:==9738== I1 miss rate: 2.03% vg1/t/op/loopctl.t.valgrind:==9743== I1 miss rate: 2.07% vg1/t/op/lop.t.valgrind:==9745== I1 miss rate: 0.91% vg1/t/op/magic.t.valgrind:==9747== I1 miss rate: 1.98% vg1/t/op/method.t.valgrind:==9759== I1 miss rate: 2.17% vg1/t/op/mkdir.t.valgrind:==9767== I1 miss rate: 2.06% vg1/t/op/mydef.t.valgrind:==9774== I1 miss rate: 2.17% vg1/t/op/my_stash.t.valgrind:==9772== I1 miss rate: 2.04% vg1/t/op/my.t.valgrind:==9770== I1 miss rate: 1.66% vg1/t/op/negate.t.valgrind:==9776== I1 miss rate: 2.12% vg1/t/op/not.t.valgrind:==9779== I1 miss rate: 2.13% vg1/t/op/numconvert.t.valgrind:==9781== I1 miss rate: 2.74% vg1/t/op/oct.t.valgrind:==9788== I1 miss rate: 1.91% vg1/t/op/ord.t.valgrind:==9792== I1 miss rate: 2.13% vg1/t/op/or.t.valgrind:==9790== I1 miss rate: 2.11% vg1/t/op/override.t.valgrind:==9795== I1 miss rate: 2.13% vg1/t/op/pack.t.valgrind:==9797== I1 miss rate: 2.14% vg1/t/op/pat.t.valgrind:==9805== I1 miss rate: 0.67% vg1/t/op/pos.t.valgrind:==9938== I1 miss rate: 2.13% vg1/t/op/pow.t.valgrind:==9940== I1 miss rate: 2.44% vg1/t/op/push.t.valgrind:==9942== I1 miss rate: 1.20% vg1/t/op/pwent.t.valgrind:==9944== I1 miss rate: 1.50% vg1/t/op/qq.t.valgrind:==9949== I1 miss rate: 1.73% vg1/t/op/quotemeta.t.valgrind:==9951== I1 miss rate: 1.90% vg1/t/op/rand.t.valgrind:==9953== I1 miss rate: 2.80% vg1/t/op/range.t.valgrind:==9957== I1 miss rate: 1.66% vg1/t/op/readdir.t.valgrind:==9962== I1 miss rate: 0.96% vg1/t/op/readline.t.valgrind:==9964== I1 miss rate: 2.13% vg1/t/op/read.t.valgrind:==9959== I1 miss rate: 2.59% vg1/t/op/recurse.t.valgrind:==9984== I1 miss rate: 0.27% vg1/t/op/ref.t.valgrind:==9989== I1 miss rate: 1.78% vg1/t/op/regexp_noamp.t.valgrind:==10009== I1 miss rate: 2.85% vg1/t/op/regexp_notrie.t.valgrind:==10015== I1 miss rate: 2.89% vg1/t/op/regexp_qr_embed.t.valgrind:==10023== I1 miss rate: 2.77% vg1/t/op/regexp_qr.t.valgrind:==10019== I1 miss rate: 2.89% vg1/t/op/regexp_trielist.t.valgrind:==10043== I1 miss rate: 2.89% vg1/t/op/regexp.t.valgrind:==10004== I1 miss rate: 2.84% vg1/t/op/regmesg.t.valgrind:==10049== I1 miss rate: 1.67% vg1/t/op/repeat.t.valgrind:==10052== I1 miss rate: 2.13% vg1/t/op/reverse.t.valgrind:==10054== I1 miss rate: 1.05% vg1/t/op/runlevel.t.valgrind:==10056== I1 miss rate: 1.90% vg1/t/op/rxcode.t.valgrind:==10082== I1 miss rate: 2.19% vg1/t/op/sleep.t.valgrind:==10085== I1 miss rate: 2.11% vg1/t/op/smartmatch.t.valgrind:==10087== I1 miss rate: 2.18% vg1/t/op/sort.t.valgrind:==10090== I1 miss rate: 1.91% vg1/t/op/splice.t.valgrind:==10092== I1 miss rate: 1.36% vg1/t/op/split.t.valgrind:==10094== I1 miss rate: 2.17% vg1/t/op/sprintf2.t.valgrind:==10101== I1 miss rate: 2.85% vg1/t/op/sprintf.t.valgrind:==10099== I1 miss rate: 2.73% vg1/t/op/srand.t.valgrind:==10106== I1 miss rate: 1.78% vg1/t/op/sselect.t.valgrind:==10111== I1 miss rate: 2.13% vg1/t/op/stash.t.valgrind:==10113== I1 miss rate: 2.18% vg1/t/op/state.t.valgrind:==10129== I1 miss rate: 2.18% vg1/t/op/stat.t.valgrind:==10123== I1 miss rate: 1.49% vg1/t/op/studytied.t.valgrind:==10134== I1 miss rate: 2.05% vg1/t/op/study.t.valgrind:==10132== I1 miss rate: 1.73% vg1/t/op/sub_lval.t.valgrind:==10139== I1 miss rate: 2.26% vg1/t/op/subst_amp.t.valgrind:==10143== I1 miss rate: 1.85% vg1/t/op/substr.t.valgrind:==10148== I1 miss rate: 2.38% vg1/t/op/subst.t.valgrind:==10141== I1 miss rate: 2.22% vg1/t/op/subst_wamp.t.valgrind:==10146== I1 miss rate: 2.22% vg1/t/op/sub.t.valgrind:==10136== I1 miss rate: 2.14% vg1/t/op/switch.t.valgrind:==10151== I1 miss rate: 2.32% vg1/t/op/sysio.t.valgrind:==10153== I1 miss rate: 1.97% vg1/t/op/taint.t.valgrind:==10161== I1 miss rate: 2.28% vg1/t/op/taint.t.valgrind:==10163== I1 miss rate: 1.92% vg1/t/op/taint.t.valgrind:==10156== I1 miss rate: 1.81% vg1/t/op/threads.t.valgrind:==10165== I1 miss rate: 2.09% vg1/t/op/tiearray.t.valgrind:==10243== I1 miss rate: 2.48% vg1/t/op/tie.t.valgrind:==10167== I1 miss rate: 2.36% vg1/t/run/exit.t.valgrind:==8362== I1 miss rate: 2.06% vg1/t/run/fresh_perl.t.valgrind:==8368== I1 miss rate: 2.44% vg1/t/run/noswitch.t.valgrind:==8563== I1 miss rate: 0.85% vg1/t/run/runenv.t.valgrind:==8565== I1 miss rate: 1.50% vg1/t/run/switch0.t.valgrind:==8584== I1 miss rate: 0.75% vg1/t/run/switcha.t.valgrind:==8633== I1 miss rate: 0.96% vg1/t/run/switch_A.t.valgrind:==8621== I1 miss rate: 2.13% vg1/t/run/switchC.t.valgrind:==8586== I1 miss rate: 2.15% vg1/t/run/switchd.t.valgrind:==8635== I1 miss rate: 2.10% vg1/t/run/switches.t.valgrind:==8640== I1 miss rate: 2.09% vg1/t/run/switchF1.t.valgrind:==8604== I1 miss rate: 0.98% vg1/t/run/switchF.t.valgrind:==8602== I1 miss rate: 0.95% vg1/t/run/switchI.t.valgrind:==8607== I1 miss rate: 2.11% vg1/t/run/switchn.t.valgrind:==8685== I1 miss rate: 0.81% vg1/t/run/switchp.t.valgrind:==8687== I1 miss rate: 0.81% vg1/t/run/switchPx.t.valgrind:==8614== I1 miss rate: 1.91% vg1/t/run/switcht.t.valgrind:==8690== I1 miss rate: 1.95% vg1/t/run/switchx.t.valgrind:==8708== I1 miss rate: 2.09% as is obvious, the range seems to be ~0.5-3.0% Im considering plotting each of the numbers to see how they vary, but Im lazy, and want to hear 1st that it sounds useful and a possible source of insight. also attaching the individual file that got the highest miss above Id be interested in seeing similar numbers from folks hanging out here. tia |