6 points par samchon 2023-08-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Explication théorique de la raison pour laquelle Typia est le plus rapide des validateurs runtime pour TS
  • Les langages dynamiques comme JS traitent tous les objets comme des HashMap<string, Object>
    • C’est ce qui permet d’ajouter et de retirer n’importe quelle clé
    • En contrepartie, c’est plus lent qu’une structure de classe statique
    • En interne, une HashMap stocke ses éléments dans une liste chaînée
  • Le moteur V8 dispose de ce qu’on appelle la Hidden Class Optimization
    • S’il détecte qu’il n’y a pas d’éléments réellement contrôlés dynamiquement, il n’utilise pas de HashMap
    • À la place, il convertit la structure en classe statique
    • Une classe statique bénéficie de meilleures performances, car ses membres sont contigus en mémoire
  • Typia génère statiquement le code de validation pour chaque type (compilation AoT)
  • Les autres validateurs runtime utilisent une logique dynamique (for key in obj)
  • C’est la raison pour laquelle Typia est plus rapide que les autres validateurs runtime

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.