V8 nedir?
- Node.js kursu
- Uzman
- Ders 1/47
- 5 dk
V8 motorunun ne olduğunu ve nasıl çalıştığını öğrenirsin.
V8 nedir?
V8, Google'ın açık kaynak JavaScript motorudur. Node.js, Chrome ve Electron V8 üzerine kuruludur. V8 JavaScript kodunu makine koduna çevirir ve yürütür; bu, kodun tarayıcı dışında da hızlı çalışmasını sağlar.
V8 bir JIT (just-in-time) derleyicisi kullanır: kodu çalışma anında derler, yorumlamaz. Bu, yorumlanan dillerden çok daha hızlı yürütme sağlar. V8 aynı zamanda bellek yönetimini (garbage collection) ve nesne iç yapısını (hidden classes) kendisi üstlenir. Node.js geliştiricisi olarak V8'in ne yaptığını bilirseniz, neden bazı desenlerin hızlı olduğunu anlarsın. Bu derste V8'in temel yapı taşlarına bakıyoruz.
JIT derlemesi
V8, JavaScript kodunu yorumlamak yerine JIT ile çalışma anında derler. Kod önce hızlı bir şekilde bytecode'a çevrilir, sonra sık çalışan bölümler makine koduna yükseltilir. Bu, yavaş yorumlama ile yavaş tam derleme arasındaki dengeyi kurar.
Bir fonksiyon ilk çağrıldığında V8 onu hızla derler. Çağrı sayısı bir eşiği geçince V8 fonksiyonu hot işaretler ve daha agresif iyileştirme uygular. Örnek: function isHot(callCount) { return callCount >= 100; }. Bir fonksiyon 100 kez çağrılırsa hot sayılır. JIT sayesinde Node.js, C kadar hızlı olmasa da yorumlanan dillerden çok daha hızlıdır.
Uygulama V8 motorunu tanımla
v8Engine fonksiyonu yaz. {name: 'V8', language: 'JavaScript', type: 'JIT'} döndürsün. console.log(v8Engine().name + ': ' + v8Engine().type) ile yazdır.
Başlangıç kodu
// V8 motorunu tanımlayan fonksiyon yaz
// {name: 'V8', language: 'JavaScript', type: 'JIT'} döndürsün
// ad ve türü yazdır
// buraya yazÖrnek çözüm
function v8Engine() {
return {name: 'V8', language: 'JavaScript', type: 'JIT'};
}
console.log(v8Engine().name + ': ' + v8Engine().type);Beklenen çıktı
V8: JIT
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Node.js hangi motorun üzerine kuruludur?
- SpiderMonkey
- Chakra
- V8 Doğru cevap
- JavaScriptCore
Açıklama: Node.js V8 motoru üzerine kuruludur.
2 V8 motorunun türünü döndür
function v8Engine() { return {name: 'V8', language: 'JavaScript', type: '____'}; }
function v8Engine() { return {name: 'V8', language: 'JavaScript', type: 'JIT'}; }
Açıklama: V8 bir JIT derleyicisi kullanır.
3 Kavramı açıklamasına eşle
| Kavram | Anlamı |
|---|---|
V8 |
JavaScript motoru |
JIT |
Çalışma anında derleme |
Node.js |
V8 üzerine kurulu |
Chrome |
V8 kullanan tarayıcı |