{Answered} Precision of digital inputs of Arduino Uno

Inputs can be read really quickly - 1000 pulses per second is change in level (for a square wave) every 500uS. 2000 clock cycles at 16 MHz. It takes a couple microseconds to process an interrupt, say 8 uS, so a rate 50-60x that could be managed even (depending on what your code does of course).
The Atmega328P or whatever microcontroller datasheet that you are using is what you need to review.