@fbt, your Serial.print() which includes a String conversion will take more than 125us most likely. Also, time is only initialized once I believe. The only real way to time such a short period is with logic analyzer or an oscilloscope.
You may want to consider using SparkIntervalTimer to create a timer interrupt/callback to your function. Since it uses a hardware timer, the interrupts are more reliable and accurate.
Why don’t you try storing say 10 runs worth of times in a global array and then when they are all done, print them out later instead of immediately. That will take the time taken by Serial.println() out of the measurement.