Saltar al contenido

El arranque, de principio a fin

Todo lo del nivel junto: la secuencia completa con sus tiempos objetivo, qué ocurre en cada momento y la lista de comprobación para no perderlo.

La secuencia

Los números son de referencia, no de ley. Lo que importa es la forma: la ventana aparece pronto, el usuario puede interactuar pronto, y el trabajo pesado ocurre detrás.

Los momentos que hay que instrumentar

Cinco marcas de tiempo, y con ellas se sabe todo:

Y conviene registrarlas siempre, no solo cuando se investiga: así, cuando un usuario diga que arranca lento, su registro ya trae el desglose. Nivel 55.3.

La lista de comprobación

Siete preguntas, para pasar antes de cada versión importante:

  1. ¿Cuánto hay antes de crear la ventana? Debería ser muy poco. Nivel 57.2.
  2. ¿La ventana aparece antes de medio segundo?
  3. ¿Se ve algo —esqueleto o caché— o está en blanco? Nivel 57.4.
  4. ¿Cuántas llamadas hace el frontend al montarse, y van en serie? Nivel 57.1.
  5. ¿Se construyen pantallas que no se ven? Nivel 57.3.
  6. ¿Se comprueban actualizaciones o se conecta a algo en el arranque? No debería. Nivel 57.2.
  7. ¿Se ha medido tras reiniciar, no la quinta vez seguida? Nivel 57.1.

La sexta es la que más veces sale mal en aplicaciones maduras, porque se añade en algún momento y nadie vuelve a mirar el arranque.

Por qué se degrada

Y el mecanismo es siempre el mismo: cada función nueva añade un poquito al arranque, nadie mide, y dos años después la aplicación tarda tres veces más sin que ningún cambio concreto sea culpable.

La defensa es la del nivel 56.4: un número medido automáticamente, con un umbral que falle. Sin eso, la degradación es invisible por construcción, porque nadie compara el arranque de hoy con el de hace seis meses.