Cronómetro y temporizador
Cronómetro en línea con tiempos de vuelta y temporizador de cuenta atrás con alarma audible, todo en tu navegador.
Cargando Cronómetro y temporizador… Si no ocurre nada, activa JavaScript.
La medición del tiempo es una de las búsquedas tecnológicas más antiguas de la humanidad, y el cronómetro es uno de sus instrumentos más refinados. Un cronómetro mide el tiempo transcurrido desde un punto de inicio definido hasta un punto de parada definido, con la precisión necesaria para distinguir fracciones de segundo. Los temporizadores digitales modernos van más allá, registrando tiempos de vuelta intermedios para que puedas analizar el desglose de una actividad larga en sus intervalos componentes. Un temporizador de cuenta atrás funciona en sentido inverso: cuenta hacia atrás desde una duración fijada y avisa cuando el tiempo se ha agotado. Ambos instrumentos son esenciales en contextos donde el tiempo es la variable principal que se gestiona, desde el entrenamiento deportivo hasta la cocina, desde las pruebas de rendimiento de software hasta la técnica de productividad Pomodoro.
Preguntas frecuentes
¿Sigue funcionando el temporizador si cambio a otra pestaña?
¿Qué precisión tiene el temporizador?
¿Cómo funciona la alarma audible?
¿Puedo registrar tiempos de vuelta?
¿Qué es la Técnica Pomodoro y cómo puede ayudar este temporizador?
¿Cuál es la duración máxima de la cuenta atrás?
¿Por qué tiene performance.now() una precisión reducida en los navegadores?
¿Puedo usarlo para cronometrar eventos deportivos como correr o nadar?
¿Necesita la página conexión a internet una vez cargada?
¿Cómo se compara con una app de cronómetro dedicada?
Acerca de Cronómetro y temporizador
La gama de personas que usan cronómetros y temporizadores de cuenta atrás a diario es sorprendentemente amplia. Entrenadores y atletas usan la cronometración de vueltas para analizar los parciales de carrera y los intervalos de entrenamiento. Cocineros y reposteros confían en los temporizadores de cuenta atrás para no pasarse de cocción. Los profesores usan temporizadores para gestionar las actividades de clase y la duración de los exámenes. Los desarrolladores de software y los ingenieros de control de calidad cronometran la ejecución del código y la capacidad de respuesta de la interfaz. Los oradores ensayan con una cuenta atrás para no salirse de su tiempo asignado. Los trabajadores del conocimiento que practican la Técnica Pomodoro alternan sesiones de trabajo concentrado de 25 minutos con descansos de 5 minutos, ambos cronometrados con precisión. La necesidad de medir o limitar un lapso de tiempo es tan universal que todos los smartphones, smartwatches y altavoces inteligentes vienen con estas funciones integradas.
Esta herramienta de navegador implementa tanto un cronómetro como un temporizador de cuenta atrás usando la Web API performance.now() para la cronometración. A diferencia de setInterval de JavaScript, que puede desviarse cuando una pestaña del navegador está limitada o el sistema está bajo carga, performance.now() devuelve una marca de tiempo de alta resolución que se calcula a partir del reloj del sistema. El tiempo transcurrido real se calcula como la diferencia entre la marca de tiempo de inicio y la marca de tiempo actual, lo que significa que la limitación de las pestañas en segundo plano no hace que el temporizador pierda tiempo. La alarma audible se genera con la Web Audio API, que sintetiza un tono directamente en el navegador sin necesidad de cargar ningún archivo de audio. Todo el estado se mantiene en memoria; cerrar o recargar la pestaña reinicia todo.
Una nota sobre la precisión de cronometración del navegador: por razones de privacidad y seguridad, los navegadores reducen deliberadamente la resolución de performance.now() a aproximadamente 1 milisegundo en la mayoría de los contextos (y a 5 milisegundos o más en iframes de origen cruzado). Esto es suficiente para la inmensa mayoría de las tareas de cronometración (cocina, ejercicio, productividad), pero no es adecuado para tareas de benchmarking que requieran precisión de microsegundos, para las que necesitarías un temporizador de hardware dedicado o una herramienta de perfilado especializada.
De los relojes de sol a performance.now(): 4000 años de tecnología de medición del tiempo
La historia del cronómetro empieza mucho antes de la electricidad. Los primeros cronómetros mecánicos eran relojes de bolsillo modificados con una manecilla de segundos que podía arrancarse y detenerse de forma independiente del movimiento principal. La invención clave fue el mecanismo de segundos partidos, patentado en 1862, que permitía arrancar dos manecillas independientes juntas y detenerlas por separado, esencial para cronometrar a varios competidores en una carrera. Pero el hito más importante fue la patente de Adolphe Nicole de 1844 para el primer cronómetro verdadero con función de puesta a cero: un mecanismo que podía devolver la manecilla de segundos a cero con una sola pulsación de la corona. Nicole era un relojero suizo que trabajaba en Londres, y su invención se convirtió en el diseño estándar de los relojes cronógrafo que perdura hasta hoy. Los primeros cronómetros mecánicos tenían una precisión de alrededor de 1/5 de segundo, mucho menos precisos que un temporizador de navegador moderno, pero revolucionarios para los jueces deportivos del siglo XIX.
La cronometración electrónica transformó el deporte profesional en el siglo XX. Los Juegos Olímpicos de Los Ángeles de 1932 fueron los primeros en usar tecnología de fotofinish, combinando una cámara con un temporizador electrónico para resolver disputas invisibles al ojo humano. Hacia la década de 1960, la empresa suiza Longines proporcionaba cronometración electrónica con precisión de 1/100 de segundo para los Juegos Olímpicos. Los cronómetros digitales para consumidores aparecieron en la década de 1970 junto con la revolución del reloj de cuarzo; el primer reloj digital Casio con función de cronómetro (el Casio Casiotron) se lanzó en 1974. Estos osciladores de cuarzo a pilas podían mantener la hora con una precisión de unos pocos segundos al año, muy superior a los relojes mecánicos de resorte a los que sustituyeron.
Los navegadores implementan la cronometración de alta resolución a través de la Performance API, en concreto el método performance.now(), que fue estandarizado por el W3C en 2012. A diferencia del antiguo método Date.now(), que devuelve una marca de tiempo Unix en milisegundos enteros y puede saltar hacia atrás si se ajusta el reloj del sistema, performance.now() devuelve un número de coma flotante que representa el tiempo transcurrido desde el origen temporal de la página, con resolución submilisegundo. El método es monótonamente creciente, nunca retrocede, lo que lo hace ideal para medir duraciones. Su precisión se redujo deliberadamente de microsegundos a aproximadamente 1 milisegundo tras la revelación de la vulnerabilidad de CPU Spectre en enero de 2018, ya que los temporizadores de alta resolución son un componente necesario de ciertos ataques de canal lateral. El equilibrio entre la precisión de cronometración y la seguridad es un ejemplo fascinante de cómo las vulnerabilidades de hardware de bajo nivel pueden propagarse hasta las API de navegador de las que dependen las aplicaciones web cotidianas.