> I am trying to use valgrind on mac os x 10.6.x. It turns out valgrind
> runs extremely slow (>10 times slower)

This is documented in the manual!  Depending on the fraction of instructions
that are operations to/from data memory, then memcheck can run 20 to 50
times slower than non-checked execution.

The expected speed of almost any emulation is an order of magnitude slower
than non-emulated execution. Just pretend you are running the non-emulated
program on hardware that is a couple generations old.

> To make it worse, it only runs on one core.

About the best that could be expected is for valgrind(memcheck) to use
as many threads as the non-emulated process.  In particular, it is
unreasonable to expect that a memcheck of a single-threaded process
would use any more than one core.

Valgrind uses exactly one thread no matter how many threads in the
emulated process.  Other checkers have used one checking thread per
original thread, but the design and implementation of valgrind
does not allow this.

> 1)      How can I make valgrind run faster on snowleapard?

Only by making valgrind faster for everybody.

> 2)      How can I use multiple cores for valgrind?

Only by checking multiple independent processes simultaneously,
invoking valgrind on each one separately.

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to