Uncontested (single thread):
incrementing using atomics took 0.002011 s (0.2513 ns / increment) incrementing using mutex took 0.005515 s (0.6894 ns / increment)
incrementing using atomics took 0.1069 s (13.36 ns / increment) incrementing using mutex took 1.970 s (246.3 ns / increment)
Uncontested (single thread):
Contested (8 threads trying to increment a single protected integer): So mutexes are roughly the same speed in the uncontested case, and about 20x slower in this heavily contested case. This is on Windows.