Google byl představen před několik dní (po vydání nejnovější verze prohlížeče Chrome) technické informace o dvě nové technologie optimalizace kódu včetně, že pSlibují, že zlepší časy načítání webových stránek v některých případech až 23%.
Společnost podrobně popsala dvě technologie, Sparkplug hovory a „krátké vložené hovory“. Oba jsou implementovány jako součást motoru V8, který Chrome používá k načtení kódu JavaScript pro webové stránky. Webové stránky používají JavaScript k aktivaci klíčových funkcí, jako jsou tlačítka a nabídky, což znamená, že zvýšení rychlosti běhu kódu napsaného v jazyce může poskytnout výrazné zlepšení celkového výkonu.
Je to zmíněno motor V8:
"Denně běží přes 78 let kódu JavaScript ... Chrome je nyní až o 23% rychlejší díky vydání nového kompilátoru Sparkplug a krátkých vestavěných hovorů, což našim uživatelům každý den šetří více než 17 let času CPU». " Produktový manažer pro Chrome Thomas Nattestad napsal v blogovém příspěvku.
Kód napsaný v programovacích jazycích, jako je JavaScript, nelze spustit přímo v centrální procesorové jednotce počítače, ale je třeba jej nejprve převést na takzvaný nízkoúrovňový kód (strojový kód).
Toto je úkol, který provádějí inženýři Google zrychlil se zapalovací svíčkou, první ze dvou nedávno podrobných technologií. to je kompilátor, který transformuje kód JavaScript webové stránky na strojový kód a v tomto procesu provádí optimalizace, které pomáhají počítači uživatele rychleji načítat webovou stránku.
A přestože Chrome již má kompilátor, který optimalizuje kód, aby zlepšil výkon, to existující překladač chvíli trvá, než se nakopne poté, co uživatel otevře webovou stránku, což znamená, že existuje časové okno, ve kterém byl načten webový obsah ale stále to nefunguje tak daleko, jak by mělo. Sparkplug poskytuje v tomto časovém okně zvýšení rychlosti, takže uživatelé mohou rychleji procházet ještě předtím, než Chrome dokončí všechny své optimalizace.
Důvod, proč může Sparkplug začít zvyšovat výkon kódu před spuštěním existujícího kompilátoru optimalizace Chrome je to, že je to rychlejší. Tato rychlostní výhoda je zase výsledkem dvou konkrétních softwarových metod implementovaných inženýry společnosti Google.
Za prvé, Sparkplug využívá skutečnosti, že Chrome převádí kód JavaScript všech webových stránek v přechodné formě s názvem bytecode pro snadné zpracování. Sparkplug provádí své optimalizace na bajtovém kódu namísto původního kódu JavaScriptu, který je z různých technických důvodů rychlejší.
Druhá metoda pomocí kterého Google zrychlil Sparkplug spočívalo v přeskočení jednoho z kroků což obvykle zahrnuje proces optimalizace kódu.
Další nová technologie, která přispívá k výkonu nové verze prohlížeče Chrome, se nazývá krátké vložené hovory. Tato technologie odvozuje své názvy od vestavěných, což jsou úryvky kódu, které běží společně s kódem JavaScript na webové stránce a provádějí různé pomocné úkoly.
Před zavedením této funkce ukládal Chrome inline kód a JavaScript do náhodně vybraných částí paměti počítače, což zpomalovalo výkon kvůli technickým detailům souvisejícím se způsobem výroby moderních procesorů.
V praxi tato technologie dosahuje zrychlení snížením potřeby procesorů používat svůj predikční mechanismus větví. Mechanismus predikce větví je součást čipu, která odhaduje budoucí výsledky výpočtů. Použitím méně komponent Chrome snižuje riziko nesprávného odhadu čipu toto zpoždění zpracování, a proto zlepšit výkon.
zdroj: https://blog.chromium.org