I'm running AVRDUDE 5.1 on an iMac Core Duo, OS X 10.4.7, libusb 0.1.12. It was extremely slow, consistently taking 5+ minutes to do anything with the AVRISP MkII.
It turned out to be the function stk500v2_getsync() in stk500v2.c. It consistently failed 33 attempts, gave up, and exited. Programming worked anyway, so I tried simply commenting the body of the function out, leaving just the "return 0;" at the end. It seems to work fine...programming now takes about 3 seconds, rather than over 340 seconds.
Maybe someone can explain what this function is supposed to do and why it doesn't work.