Aurora Scharff, l'une des personnes qui travaille sur la v0 chez Vercel, a publié le 16 octobre un article expliquant pourquoi certaines navigations dans la v0 semblaient lentes et ce que l'équipe avait modifié. C'est court, concret, honnête sur ce qui n'a pas fonctionné auparavant, et ça vaut dix minutes.

L'idée derrière la prélecture partielle

  • La prélecture de Next.js était autrefois binaire : tout sur une route, ou rien. La prélecture partielle vous permet de récupérer le shell en premier et de différer les parties lentes ou personnelles.
  • Cela a rendu les itinéraires avec un contenu lourd et spécifique à l'utilisateur instantanés, puisque le cadre peut être peint avant l'arrivée de chaque octet.
  • Il fait attention au coût : les grilles contenant des centaines de cartes subissent exactement un changement de règle de prélecture au lieu de tout le monde.

Le travail de mesure

La partie qui mérite d'être évoquée dans l'article est la boucle qu'ils ont utilisée : instant() Assistant du dramaturge dans un test, le numéro enregistré, la règle modifiée, le numéro relu. Une navigation qu'ils avaient qualifiée d'« optimisée depuis longtemps » s'est avérée ne pas l'être.

« Il a un état de chargement » n'est pas ce que « instantané » signifie, et le test a rendu cela visible dans un nombre plutôt que dans une opinion.

Ce qu'il faut retenir en pratique, c'est 90 % du travail de performance : réclamez moins, mesurez d'une manière incontestable et appliquez un changement à la fois afin que vous puissiez dire ce qui a fait le travail.