For the last 20 years I've been programming embedded controllers, 8051 family, Zilog, Rabbit, Atmel, using Basic and C languages and sometimes assembler for time critical pieces of code.
Since more or less 1 year I'm using Arduino (Uno, Mega) boards through the Arduino IDE and AVR Studio.

For a new project of the chemistry department of the University I work for, I need to count TTL level pulses coming from the amplifier of a Photo Multiplier tube. I tried this with the mentioned Arduino boards and arrived to the limit of the power processing of the controllers.
What I did was feed the TTL pulse to an external interrupt pin. In the ISR (INT0_vect) I increment a long unsigned. I can count no more than 250 K pulses per second.
I would like to have a counting error of no more than 0,01%.

I have no experience with ARM processors so the last days I have been reading a lot of information on this forum. I did not find yet what I'm looking for.
My question is, if I use the same principle (external interrupt) using a Teensy 3.2 running at 72 MHz, will I be able to count up to 5 million pulses per second ?
And in the meanwhile send the count value to a remote location using serial communication ?

Thanks for your comments.