Unlocking a never-locked mutex is an assertion failure in debug mode. In release mode, this further improves performance: No-Contention -> 153 cycles Recursion No-Contention -> 138 cycles Contention -> 378 cycles