jit derleyici
-
jit compiler'ın 2. kısmında loop cloning ve loop hoisting* kavramlarına göz attık.
https://youtu.be/y0nm-_ucidm
loop cloning genel olarak dizilerin boyutları belli olmayan döngülerde jit compiler bir yavaş, bir de hızlı versiyonunu oluşturur bu döngülerin, eğer dizinin index'ine ulaşmak istediğiniz döngü değeri dizinin sınırları içerisindeyse yavaş versiyonuna, değilse hızlı versiyonuna yönlendirilir. tabi cloning her döngüde oluşmaz, örneğin döngü tipi int olmalı, basit bir artış olmalı (++ gibi) vs..
loop hoisting, veya sadece hoisting kavramı, döngüler içerisinde döngü index'lerine bağlı olmayan hesaplamaları döngünün dışına alarak bir defa hesaplamasını ve o değerin döngüde kullanılmasını sağlar.
en basitinden;
var a = 50;
var b = 100;
for(var i = 0; i < 100; i++)
{
(a + b).dump();
}
burada a + b toplamı i değişkenine bağlı olmadığı için bunun yerine;
var a = 50;
var b = 100;
var hoist = a + b;
for(var i = 0; i < 100; i++)
{
hoist .dump();
}
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap