A question was recently asked on the forum, how fast can attachInterrupt count pulses. I did some testing to find out, and made this video.
Turns out Teensy 3.2 can run about 1.25 million interrupts per second. Teensy 3.6 can do about 2.55 million per second. But these depend on assigning a top priority to the interrupt, as explained in the video.
Of course, both boards can use a timer to count pulses at very high rates, at least 30 MHz.