Interupts, how fast can they work

Lets say I'm trying to look for pulse events, where the pulses are approximation 10-25us wide. Do you think the ardunio could detect these via interrupts or by oversampling?

Thanks

What is the frequency of the pulses? If it's not a regular frequency, then what is the closest that two pulses could be expected? For an Arduino running at 16MHz, one clock cycle is 62.5µs. errrrm ... 62.5ns. Hows come youse guys weren't all over that.

IIRC A high level - digitalRead(n) - is not fast enough
using direct port access is substantial faster

but just for counting an IRQ is the way to go, it can easily handle 10-25 us.

Here some simple testcode (not tested or compiled)

volatile unsigned long counter = 0;
unsigend long prevCounter = 0;

void IRQ()
{
  counter++;
}

void setup()
{
  Serial.begin(115200);
  attachInterrupt(0, IRQ, FALLING);  
}

void loop()
{
  unsigned long val = counter;
  Serial.println(val - prevCounter);
  prevCounter = val;
  delay(1000);
}

Thanks. The period would be 40us. With the pulse 20 us, but 50% duty cycle.