Velocità del loop Mega 2560

unsigned int cont = 0;
unsigned long dif;
unsigned long tempoInizioMs;
void setup(){
 Serial.begin(9600); //mi aspetto molti meno interrupt/s dalla seriale
 tempoInizioMs = millis();
}

void loop(){
 while(1){
  cont++;
  
  if (cont == 65535){ //vediamo quanto impiega a overfloodare!
    dif = millis();
    dif = dif -tempoInizioMs;
     Serial.println( dif);
     tempoInizioMs = millis();
     cont =0;
    };
  };
}

a me sto codicice da i numeri... mi stampa solo 0.... secondo me qua il compilatore me la sta mettendo sul didietro...
l'ho un po' modificato ancora il codice qua sopra... lo so è un casino: non si fanno le prove così cambiando sempre qualcosa ma non va accidenti: ho provato il logico e l'illogico...