Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
niewieletegotypuoptymalizacji,cozwykleoznacza,żekodjestwykonywanydokładnie
tak,jakzostałnapisany.
WefekcieJavaScriptzmuszaprogramistędowykonywaniaoptymalizacji,którymi
winnychjęzykachzajmujesiękompilator.
MaszynyJavaScriptnowejgeneracji
Wroku2008pojawiłosiępierwszeznaczącezwiększeniemożliwościmaszynJavaScript.
GooglewprowadziłnarynekswojąnowąprzeglądarkęonazwieChrome.Jesttopierwsza
przeglądarkawyposażonawmaszynęoptymalizującąJavaScript,określanąjakoV8.Maszy-
naV8wJavaScriptjestmaszynąkompilacyjnątypuJIT(ang.just-in-time),któratworzy
kodmaszynowynapodstawiekoduJavaScript,apotemgowykonuje.Dajetowwyniku
niezwykleszybkiewykonanieJavaScript.
Wkrótcetądrogąpodążyłyinneprzeglądarki,oferującwłasnemaszynyoptymalizujące
JavaScript.FunkcjaSafari4onazwieSquirrelFishExtreme(nazywanatakżeNitro)toma-
szynaJITJavaScript,zaśFirefox3.5zawieramaszynęTraceMonkey,któraoptymalizuje
częstowykonywaneścieżkikodu.
WprzypadkutychnowszychmaszynJavaScript,optymalizacjawykonywanajest
napoziomiekompilacji,czylitamgdziepowinna.Kiedyśprogramiścizostanącałkiem
uwolnieniodzmartwieńzwiązanychzoptymalizacjąswegokodu.Tendzieńjeszcze
jednaknienadszedł.
Wydajnośćwciążjestproblemem
PomimopostępówwpodstawowymwykonaniuskryptówJavaScript,wciążistniejąaspek-
tyJavaScript,którychnieobsługująnowemaszyny.Opóźnieniapowodowaneprzezsieci
orazdziałaniawpływającenawyglądstronysąnadalobszarami,którychprzeglądarki
odpowiednionieoptymalizują.Podczasgdyprosteoperacje,jakalgorytmywstawiania
funkcji,łamaniakoduorazłączeniałańcuchów,możnałatwozoptymalizowaćwkompilato-
rach,todynamiczneiwieloskładnikowestrukturyaplikacjisprawiają,żetaoptymalizacja
rozwiązujetylkoczęśćproblemówzwydajnością.
ChoćnowszemaszynyJavaScriptdałynampojęcie,jakwyglądaowieleszybszyIn-
ternet,dzisiejszelekcjedotyczącewydajnościbędąnadalpotrzebneiważnewdającej
sięprzewidziećprzyszłości.
TechnikiipodejściapodawanewtejksiążcedotycząwieluróżnychaspektówJava-
Script,któreobejmujączaswykonania,pobieranie,interakcjezmodelemDOM,cykl
życiastronyiwieleinnych.Tylkoniewielkipodzbiórtejtematyki,związanyzpodstawową
wydajnością(ECMAScript),będziemógłstaćsięnieistotnydziękipostępommaszyn
JavaScript,aletenczasdopieronadejdzie.
Wprowadzenie
|
xi