AstroQuest

Moteur de graphiques

Trace un million de points en 15 millisecondes, avec un code 9 fois plus léger. Les 23 graphiques de l’application sont tracés par un noyau Rust qui réduit les courbes en gardant les pics. Résultat : un code envoyé près de dix fois plus léger, et des séries d’un million de points qui restent fluides.

Chiffres clés

  • 46 Ko de code, contre 438 Ko : chunk de graphiques, 116 849 → 16 845 octets en gzip
  • 15 ms pour 1 million de points : réduction min/max, pic conservé
  • 23 usages migrés : dont six écrans d’administration

Avant et maintenant

  • 1 000 points : 35,3 ms avant, 4,7 ms maintenant (7,5 fois mieux).
  • 10 000 points : 65,7 ms avant, 29,3 ms maintenant (2,2 fois mieux).
  • Code envoyé au navigateur : 438 403 octets avant, 46 161 octets maintenant (9,5 fois mieux). recharts contre moteur maison.

Ce que ce moteur remplace

Moteur de graphiques remplace recharts dans l’application.

Comment ça marche

  • Réduire sans perdre les pics. Quand il y a plus de points que de pixels, le noyau garde le minimum et le maximum de chaque colonne.
  • Tracer. Courbes, barres, secteurs, radar, nuages, et des fonctions y = f(x), paramétriques et polaires.
  • Chercher. Intersection de deux fonctions, extrema, zoom et déplacement.
  • Rester accessible. Tableau de données alternatif, légende à vrais boutons, hachures sur les barres à partir de trois séries.

Ce qui n’est pas parfait

  • Le noyau n’est 2 fois plus rapide que le repli TypeScript qu’à 1 million de points.
  • Pas encore d’animation de transition ni d’échelle de temps.
  • À valider à l’œil : six écrans d’administration sans test dédié, dégradés et hachures dans les deux thèmes.

Source des chiffres

Document du dépôt AstroQuest : docs/reference/bilan-moteurs-natifs-2026-10-05.md. Mesures internes, en développement, sur fichiers réels : des ordres de grandeur, pas des garanties.

Questions fréquentes

Que fait la technologie « Moteur de graphiques » d’AstroQuest ?

Les 23 graphiques de l’application sont tracés par un noyau Rust qui réduit les courbes en gardant les pics. Résultat : un code envoyé près de dix fois plus léger, et des séries d’un million de points qui restent fluides.

Quelles sont les limites de « Moteur de graphiques » ?

Le noyau n’est 2 fois plus rapide que le repli TypeScript qu’à 1 million de points. Pas encore d’animation de transition ni d’échelle de temps. À valider à l’œil : six écrans d’administration sans test dédié, dégradés et hachures dans les deux thèmes.