- 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.