Ensimmäinen robotti

Hei!
Osaisiko joku auttaa tämän koodin nopeuttamisessa? Kun robotti huomaa esteen, sillä kestää hetken "älytä" se ja kääntyä.

int servoFrontPin=8;
int servoBackPin=7;
int irLeft=2;
int irRight=4;

void pulseServo(int servoPin, int pulseLenUs)
{
	digitalWrite(servoPin, HIGH);
	delayMicroseconds(pulseLenUs);
	digitalWrite(servoPin, LOW);
	delay(20);
}

void setup()
{
        pinMode(irLeft, INPUT);
        pinMode(irRight, INPUT);
	pinMode(servoFrontPin, OUTPUT);
	pinMode(servoBackPin, OUTPUT);
}

void loop()
{
  int sensorRightValue = digitalRead(irRight);
  int sensorLeftValue = digitalRead(irLeft);
  if (sensorRightValue == 1 & sensorLeftValue ==1)
  {
   for (int i=0; i<=25; i++) {
		pulseServo(servoFrontPin, 1900);
		pulseServo(servoBackPin, 1000);
  }
  }
else if (sensorRightValue == 0 & sensorLeftValue == 0)
{
 for (int i=0; i<=25; i++) {
		pulseServo(servoFrontPin, 1900);
		pulseServo(servoBackPin, 1900);
  
  
	}
}

else if (sensorRightValue == 1 & sensorLeftValue == 0)
{
  for (int i=0; i<=25; i++) {
		pulseServo(servoFrontPin, 1000);
		pulseServo(servoBackPin, 1000);
  }
}
else if (sensorRightValue == 0 & sensorLeftValue == 1)
{
 for (int i=0; i<=25; i++) {
		pulseServo(servoFrontPin, 1900);
		pulseServo(servoBackPin, 1900);

}
}
}

saattais nopeutua jos esm for luupeissa tutkit joka kierroksella onko sensor x valuet muuttuneet ja jos niin poistutaan luupista heti.

Siis...Täh?

for (int i=0; i<=25; i++) {
pulseServo(servoFrontPin, 1900);
pulseServo(servoBackPin, 1000);
if(jos sensorrightvalue tai sensorleftvalue muuttujissa ja sensoreissa on eri arvo kuin tähän silmukkaan tullessa)
{
i=tähän sellainen arvo jotta for silmukassa ei tarvitse enää pyöriä
}
}

edit: muokattu