Tiempo para la interrupción

#1
Muy buenas tengo un sistema de comunicación propietario en base a dos pics 16F627 y me ha surgido un problemilla con las interrupciones.

Comento: uno de los pics emite por una patilla cualesquiera que entra en RA4 del otro pic.
Uso esta patilla como contador, (previamente he cargado el registro al maximo) con lo cual cuando desborda me salta una interrupción. y ejecuto lo que otro contador por soft.

El caso es que me tarda 30us en atender la interrupción y es demasiado ya que pierde el resto de los pulsos.

El reloj que uso es el interno de 4Mhz y el compilador el de CCS.

Soluciones encuentro varias cambiar el reloj etc, pero no me convencen por precio, y creo que la mejor opción es usar las interrupciones pero o algo hago mal o tardan mucho.

Abreviando ¿alguien sabe cuantos cilcos de reloj se necesita para atender una interrupción?
 
#2
Deberia ser un ciclo de reloj, pero eso es para ensamblador y como estas usando un compilador en C no esta del todo optimizado, ese puede ser el problema del retraso.