- Typia'nın TS runtime validator'ları arasında neden en hızlı olduğunu teorik olarak açıklıyor
- JS gibi dinamik dillerde tüm nesneler
HashMap<string, Object>şeklindedir- İstenilen herhangi bir anahtarın eklenip çıkarılabilmesi bunun sayesinde mümkün olur
- Ancak bunun karşılığında statik sınıf yapısına kıyasla daha yavaştır
- Çünkü
HashMap, öğeleri dahili olarak linked list içinde saklar
- V8 Engine'de
Hidden Class Optimizationdenen bir özellik vardır- Dinamik olarak kontrol edilen öğe olmadığı anlaşılırsa
HashMapkullanmaz - Bunun yerine statik sınıf yapısına dönüştürerek kullanır
- Statik sınıflarda üyeler bellekte ardışık yer aldığı için performans açısından avantajlıdır
- Dinamik olarak kontrol edilen öğe olmadığı anlaşılırsa
- Typia, her tip için doğrulama kodunu statik olarak üretir (AoT compilation)
- Diğer runtime validator'lar ise dinamik mantık kullanır (
for key in obj) - Typia'nın diğer runtime validator'lardan daha hızlı olmasının nedeni budur
Henüz yorum yok.