|
From: Bart V. A. <bar...@gm...> - 2006-08-25 08:47:31
|
Update: I have performed two additional tests: (3) time valgrind --tool=none bash -c 'for ((i=0;i<5000;i++)); do echo -n "$i "; done' (4) time valgrind --tool=memcheck bash -c 'for ((i=0;i<5000;i++)); do echo -n "$i "; done' Resulting execution times on the x86 platform: 6.2s for test (3) and 16s for test (4). Resulting execution times on the ppc32 platform: 13s for test (3) and 40s for test (4). Or: test (4) runs 12 times slower than test (1) on x86, and 22 times on ppc32. There is still a significant difference between x86 and ppc32, but I think this difference (less than a factor two) is acceptable ? Now I'm wondering whether the large slowdown of test (2) is due to valgrind's --trace-children or due to the MVL kernel ? Would someone be so kind to repeat tests (1) and (2) on a ppc32 system running a vanilla Linux kernel ? ---------- Forwarded message ---------- From: Bart Van Assche <bar...@gm...> Date: Aug 24, 2006 2:38 PM Subject: Performance issue in Valgrind's memcheck tool on the ppc32 platform ? To: val...@li... Hello, I ran the following tests: (1) time bash -c 'for ((i=0;i<5000;i++)); do echo -n "$i "; done' (2) valgrind --trace-children=yes time bash -c 'for ((i=0;i<5000;i++)); do echo -n "$i "; done' on the following two platforms: (1) OpenSuSE 10.1 running on VMWare on a 2.8 GHz Pentium IV CPU, with Valgrind 3.1.1 (V installed locally) (2) MontaVista Linux Professional 4.0.1 running on a 800 MHz PowerPC 440GX CPU, with Valgrind 3.2.0 (V started over NFS) Resulting execution times on the x86 platform: 1.06s for test (1) and 16.6sfor test (2), or a slowdown of about 16 times. Resulting execution times on the ppc32 platform: 1.8s for test (1) and 400s for test (2), or a slowdown of about 222 times. Why is the slowdown of Valgrind on the ppc32 platform I tested so much larger (more than ten times !) than on the x86 platform ? Should I do more tests -- e.g. with another Valgrind version ? |