Valgrind can't be fast, it has to track/color each memory location, it also has to check each pointer reference; also its memory overhead for larger footprints can be considerable.
Once upon a time it was really slow, but then they added just in time compilation.
Once upon a time it was really slow, but then they added just in time compilation.
logging/tracing can be selectively enabled;