Originally posted by vladpetric
View Post
36% of all instructions are load/store instructions. This is valid for "xz -c3 -T1 virtio-win-0.1.185.iso" - other applications would show a different percentage of load/store instructions, but in summary expecting 1-in-10 instructions to be a load/store instruction (10%) is unrealistic, i.e: most apps are well above 10%.
Curiously, the data below shows that load:store ratio is almost exactly 2:1 (27.1 : 13.9). I wonder whether this is just a coincidence or a general rule that most apps follow (not considering toy benchmarks).
It took about 25 minutes for "callgrind xz" to compress the ISO file, which means callgrind was about 50-times slower than normal xz execution.
Code:
$ callgrind --cache-sim=yes -- xz -3c -T1 ./virtio-win-0.1.185.iso | wc -c desc: I1 cache: 32768 B, 64 B, 8-way associative desc: D1 cache: 32768 B, 64 B, 8-way associative desc: LL cache: 33554432 B, 64 B, direct-mapped Events : Ir Dr Dw I1mr D1mr D1mw ILmr DLmr DLmw Collected : 114279135645 27105874827 13902443594 2533 1931774728 273271284 2328 2686967 949904 I refs: 114,279,135,645 I1 misses: 2,533 LLi misses: 2,328 I1 miss rate: 0.00% LLi miss rate: 0.00% D refs: 41,008,318,421 (27,105,874,827 rd + 13,902,443,594 wr) D1 misses: 2,205,046,012 ( 1,931,774,728 rd + 273,271,284 wr) LLd misses: 3,636,871 ( 2,686,967 rd + 949,904 wr) D1 miss rate: 5.4% ( 7.1% + 2.0% ) LLd miss rate: 0.0% ( 0.0% + 0.0% ) LL refs: 2,205,048,545 ( 1,931,777,261 rd + 273,271,284 wr) LL misses: 3,639,199 ( 2,689,295 rd + 949,904 wr) LL miss rate: 0.0% ( 0.0% + 0.0% )
Leave a comment: