External Counter

Okay - a short pulse every second. Interrupt on the pulse, your interrupt routine is a short loop with that increments a variable. When the interrupt input turns off (don't know wheterh you interrupt is a rising or falling) the loop exits and the interrupt returns. You can then let loop send the value via serial.print..

Since you know the characterisics of your signal this would be a valid way to use an interrupt. For faster signals, or unpredictable signals it might not work.

a thought of how to do it - code has not been checked for syntax...

void setup(){
attachInterrupt(0, intHandler, RISING);
pinMode(intPin, INPUT);
interrupt routine - assumed the interrupt was a rising interrupt

void IntHandler()
{
pulseTime = 0;
while (digitalred(PulsePort) == HIGH) {
pulseTime++
}
}

Don't know whether this would give better results than pulseIn(), would have to try it ans see what happens.