Why is micros() so much slower than millis()?

Ideally you want a counter (timer) which does not need any interruption otherwise you start impacting what you are trying to measure