... dopo di che ... NON puoi inserire una Serial.print() nel loop() in cui misuri il tempo ... Serial.print() ti altera tutti i tempi a causa dei buffers e del suo funzionamento.
Acquisisci il tempo iniziale, fai un'operazione, acquisisci l tempo finale e DOPO stampi la differenza tra fine ed inizio, NON con in mezzo una Serial.print() !!!
Non solo, se devi raggiungere certe velocità, ho idea che dovrai scordarti il "framework wiring" (ovvero le funzioni che ti mette a disposizione l'ambiente Arduino) e dovrai programmare accedendo direttamente hai registri.
Guglielmo