Yaratıcı | Mozilla Vakfı |
---|---|
Tür | Anında derleyici |
TraceMonkey , SpiderMonkey JavaScript çalışma zamanı motoru için anında kullanıma hazır bir derleyicidir . TraceMonkey, Gecko oluşturucusu için Mozilla Foundation tarafından oluşturulan bir JavaScript çalışma zamanı izleme kaydı, derleme ve yürütme motorudur . İlk olarak Mozilla Firefox 3.5'te çıktı .
SpiderMonkey motorunun JavaScript çalışma zamanı performansını iyileştirmek için oluşturuldu, böylece web geliştiricilerinin bir zamanlar zayıf JavaScript performansı nedeniyle inşa edilmesi imkansız olan web uygulamalarını sunmalarına olanak sağladı .
TraceMonkey , iz ağacının zaman derlemesini gerçekleştirir . İzleme ağaçları, sıcak noktalarda yürütülen kodu izlemek (izlemeye kaydetmek) ve derlemek için kullanılan bir veri yapısıdır . Kod sıcak noktaları tekrar çalıştırıldığında, bunun yerine derlenen kod yürütülür.
Firefox'ta JavaScript yorumlayıcısının adı SpiderMonkey'dir . İkincisi, izleme motoru olan TraceMonkey ile arayüz oluşturacak şekilde değiştirildi. SpiderMonkey JavaScript kodunu yorumlar, döngü yürütmelerini izler ve yinelemelerin sayısını sayar. Bir yineleme infaz sayısı eşik ulaşıldığında, TraceMonkey, iz kayıtları için yerel kod sayesinde bunları derler nanojit ve çalıştırır bunları.
Mozilla geliştiricileri, derlenmiş izlerde kalmayı başardığında TraceMonkey'in dünyadaki en hızlı JavaScript motoru olduğunu iddia ediyor. Ne yazık ki, bazı koşullar izlerin kullanılmasını zorlaştırır, hatta imkansız hale getirir:
Bu durumlarda, JavaScript kodunun yürütülmesi daha sonra SpiderMonkey yorumlayıcısı ile yapılır ve bu da onu çok daha yavaş hale getirir. Bunun üstesinden gelmek için Mozilla , izlerin dışında bulunan kodun yürütülmesini hızlandırmak için anında bir derleyici kullanmayı amaçlayan JägerMonkey projesini başlattı .