Tachometer and interrupt, can I improve it?

Then I tried with millis() but to the same results:

//  IR TACHOMETER

const byte interruptPin = 2;
volatile int pulses = 0;
int startMillis;

void setup() {
  pinMode(interruptPin, INPUT_PULLUP);
  Serial.begin(115200);
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, RISING);
}

void loop() {
  startMillis = millis();
  while (millis()-startMillis < 1000){}
  noInterrupts();
  Serial.println(pulses*60);
  pulses = 0;
  interrupts();
}

void blink() {
  pulses = pulses + 1;
}