Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (1)
Emner

Sådan skrev vi Googles JavaScript-motor i Århus

Interview: I to år har Googles udviklere i Århus måttet udholde ikke at kunne fortælle om, hvad de har arbejdet på. Nu er Chrome sluppet løs, og de danske udviklere kan tale frit om V8.

Af Jesper Stein Sandal Onsdag, 3. september 2008 - 6:59

SAN FRANCISCO. Google har i to år haft en afdeling i Katrinebjerg i Århus, men selskabet har hele tiden holdt tæt med, hvad der foregik i den danske afdeling.

Nu er hemmelighedskræmmeriet forbi. Googles danske projekt har været udviklingen af selskabets virtuelle maskine til hurtigere afvikling af JavaScript, V8, som er en central del af Googles nye webbrowser Chrome.

»Selvfølgelig har det været irriterende, at vi ikke har kunnet tale om, hvad vi har lavet i Århus,« fortæller softwareudvikler Lars Bak til Version2.dk.

Han er én af hovedmændene bag V8 med mere end otte års erfaring inden for udvikling af virtuelle maskiner. Derfor er han nu glad for at få lov til at vise, hvad Googles danske hold har skabt, som ikke kun kommer Google til gode.

»Det hele bliver frigivet som open source. Vi håber, at vi kan være med til at forbedre JavaScript i alle browsere, og at det er noget, alle vil bruge,« siger Lars Bak.

Udviklet helt fra bunden

Bortset fra to komponenter er hele JavaScript-motoren udviklet fra grunden af i Århus. Google ønskede en ny motor, som skulle gøre det muligt at køre browserbaserede applikationer med meget mere JavaScript hurtigere end det hidtil har været muligt.

Løsningen er en ny virtuel maskine, som imidlertid gav særlige udfordringer på grund af, at JavaScript er et dynamisk sprog.

»Det var nødvendigt for os at finde på nye teknikker. JavaScript er ikke baseret på klasser, så når du har to objekter, så har de ikke noget til fælles,« forklarer Lars Bak.

I praksis deler objekterne selvfølgelig egenskaber, og derfor er et centralt trick i den virtuelle maskine at finde frem til og opbygge de objektklasser, der ligger gemt i koden.

»Når vi så har gjort det, kan vi begynde at bruge konventionelle teknikker til optimering i den virtuelle maskine,« forklarer Lars Bak.

Samtidig indeholder den nye JavaScript-motor en kompiler eller oversætter, som skaber kode, der kører direkte på pc'en, og som lærer fra det kørende program og tilpasser det.

Bedre garbage collector

For at kunne køre længere programmer i JavaScript på den nye motor har det danske hold også skabt en bedre garbage collector. Problemet med JavaScript-applikationer er blandt andet, at de ofte skaber et stort antal objekter, som kun skal bruges kortvarigt.

Garbage collection er derfor nødvendigt, fordi sproget ikke selv rydder op i objekterne, når de ikke længere skal bruges, men det er ikke ligegyldigt, hvordan det sker. I V8 har Google derfor implementeret en garbage collector, som kun skaber meget korte pauser, mens der bliver ryddet op, så brugeren ikke oplever forsinkelser fra oprydningen.

Selvom den nye JavaScript-motor allerede nu giver en bedre ydelse i eksisterende browserbaserede applikationer, så skal den store gevinst hentes på længere sigt.

»Ydelsen i JavaScript har været en flaskehals, så udviklerne har været påpasselige. V8 gør en forskel allerede i dag, men potentialet ligger i at lave applikationer, som bruger endnu mere JavaScript,« siger Lars Bak.

»Nu om dage sender en webbaseret applikation de tunge opgaver retur til en server, så hastigheden bliver afhængig af netværksforsinkelsen. En hurtigere JavaScript-motor gør det muligt at køre mere og mere JavaScript inde i browseren,« slutter han.

Send Tweet
Udskriv

Kommentarer (1)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Rasmus Schultz 3. sep. 2008 - 14.56
 
V8 vs TraceMonkey

Hurtigere JavaScript er et vigtigt mål for den næste generation af webbrowsere, der skal supportere stadig større og mere krævende applikationer - det er Google ikke de eneste, der har regnet ud.

TraceMonkey er en anden JavaScript motor, der skulle dukke op i en kommende version af FireFox (måske 3.1?) ... projektet er kun nogen måneder gammelt, men er allerede hurtigere i visse tests, end V8:

http://weblogs.mozillazine.org/roadmap/archives/2008/09/tracemonkey_upda...

I enkelte rekursive tests, er V8 stadig betydelig hurtigere end TraceMonkey, men de har efter sigende allerede en løsning på tegnebrædtet til at optimere rekursion...

Det bliver derfor nok ikke V8, der havner i Firefox, men sikkert TraceMonkey, der efter sigende også er designet med udviklere i øjemed - denne motor skulle give udviklere mulighed for at spore kald gennem en form for stak; noget, der ellers ikke er nemt (eller i nogen motorerer umuligt) i JavaScript...

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Danske internetudbydere nægter at blokere 12 pokersites

Udgivet 24. maj 13.58Opdateret 24. maj 13.58

Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

Udgivet 24. maj 13.58Opdateret 24. maj 13.58

Ny blog: Offentlige it-projekter set indefra

Udgivet 24. maj 13.19Opdateret 24. maj 13.30

De 170 fyrede hos IBM Danmark får 30.000 kroner i hånden

Udgivet 24. maj 12.19Opdateret 24. maj 12.19

Google vinder patentsagen om Android: Brød ikke Oracles Java-patenter

Udgivet 24. maj 11.30Opdateret 24. maj 11.30

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Om eBinder

eBinder ApS

Kick-start your master data management initiative

Affecto Denmark

Affecto Data Quality Assessment: Er din indsigt og beslutning baseret på validt data?

Affecto Denmark

Framework til datamigrering i SAP miljøer - spar op til 50% på dine Data Migration udgifter

Affecto Denmark

Få et Data Warehouse (DW) review hos Affecto

Affecto Denmark
  • Flere whitepapers

Seneste debat

  1. Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

    1 comment.
    Last update 13 minutter 18 sekunder
    Skrevet af Jens Holm
  2. ESA arbejder på interplanetarisk internet

    4 comments.
    Last update 15 minutter 47 sekunder
    Skrevet af Chano Klinck Andersen
  3. Fokus på ny model når kravspecifikationen skal vurderes

    1 comment.
    Last update 16 minutter 3 sekunder
    Skrevet af Christian Kirkedal
  4. Kynisk it-guru: »Internettet er basalt set noget lort«

    6 comments.
    Last update 22 minutter 59 sekunder
    Skrevet af Nikolaj Brinch Jørgensen
  5. Meego-afløseren Tizen klar til at tage kampen op med Android

    9 comments.
    Last update 37 minutter 54 sekunder
    Skrevet af Dennis Krøger
  6. Oracle tabte, vandt Google Java ?

    13 comments.
    Last update 56 minutter 35 sekunder
    Skrevet af Casper Bang
  7. Das NemID trojaner - paranoia eller rettidig omhu?

    25 comments.
    Last update 58 minutter 2 sekunder
    Skrevet af Gert Madsen
  8. HTML5 – det nye sort?

    16 comments.
    Last update 1 time 2 minutter
    Skrevet af Jesper Brunholm

Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300