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 (2)
Emner Java, Browsere

Dansk udvikler: Sådan satte vi turbolader på Chromes V8-motor

Bedre Javascript-ydelse var centralt i salgstalen for den nye version 2.0 af Google-browseren Chrome. Google-udvikler Mads Ager fortæller her, hvordan de danske udviklere fik klemt 30 procent bedre ydelse ind i Javascript-motoren V8.

Af Mikkel Meister Tirsdag, 26. maj 2009 - 6:59

Afviklingen af Javascript-kode er blevet op til 30 procent hurtigere i den nye version 2.0 af Googles browser Chrome, og dét tryk på speederen har været det vigtigste indsatsområde for det danske udviklingshold, der står bag Javascript-motoren V8.

Når brugeren besøger en hjemmeside, er det nemlig i stigende grad Javascript-kode, der sørger for funktionaliteten på hjemmesiden, og det kan ofte give ventetid.

»Vores overordnede mål med Chrome 2.0 var at få hurtigere Javascript-eksekvering for alle brugere. Det har vi opnået ved at lave to store forbedringer og ved at fintune flere forskellige steder i systemet,« siger Google-udvikler Mads Ager, der arbejder på V8.

To store forbedringer og lidt fintuning De to store punkter på listen over forbedringer er en ny komponent til behandling af regulære udtryk, der håndterer tekststrenge mere effektivt, og en ny compiler, der benytter sig af registerallokering, da det er betydeligt hurtigere at arbejde i CPU'ens registre frem for computerens hukommelse.

»Når vi modtager en klump Javascript-kode over nettet, tager vores compiler fat i den og generer maskinkode, som kan udføres på brugerens computer. Det har været nødvendigt helt fra begyndelsen at have en compiler som en integreret del af V8-motoren, og i den nye compiler har vi så implementeret registerallokering for at generere kode, der kører hurtigere,« siger Mads Ager.

Den regulære udtrykskomponent i V8 håndterer Javascripts regulære udtryk, som en Javascript-programmører kan bruge til at søge i de brugte tekststrenge. I den tidligere version af V8 brugte udviklerne standardbiblioteket Perl Compatible Regular Expressions (PCRE), men det arbejdede ikke særlig godt sammen med Javascripts måde at håndtere regulære udtryk på.

Derfor gik V8-folkene i første omgang over til en mere Javascipt-specifik version, JSCRE.

»Det virkede sådan set fint nok, men det var ikke særlig effektivt. Vi blev nødt til at lave for mange strengkonverteringer, da vi repræsenterer tekststrenge anderledes internt i V8,« siger Mads Ager.

»Derfor har vi implementeret vores egen regulære udtrykskomponent, som slipper uden om alle strengkonverteringerne og benytter sig af nogle smartere algoritmer,« uddyber Mads Ager.

Den nye regulære udtrykskomponent tager de regulære udtryk og laver dem om til en udvidet version af en endelig automat - en tilstandsmaskine. Det gøres af den simple grund, at det er nemmere at arbejde med tilstandsmaskinen i forhold til det oprindelige regulære udtryk, som blot er en tekststreng.

»Det er det samme princip som med en compiler, hvor det første man gør, er at opbygge et abstrakt syntakstræ ud fra den kildekode, man har. Det giver en ny repræsentation, som er nemmere at arbejde med, og det er det samme med automaten, som for os er nemmere at arbejde med end regulære udtryk,« siger Mads Ager.

Svært at spå om fremtidige forbedringer Alt i alt har de to forbedringer udgjort kernen i performanceoptimeringen i den nye Chrome 2.0, der dog ikke er sluppet for en række finpudsninger hist og her.

»Det at overføre kontrollen til noget kode, der ligger et andet sted, koster noget. Derfor har vi fjernet en del funktionskald i koden og implementet det inline i stedet. Derudover har vi kigget på at optimere biblioteksrutiner i Javascripts standardbibliotek, der opererer på tal, strenge og datoer,« siger Mads Ager.

Han kan ikke sætte tal på, hvor store forbedringer V8-teamet forventer på performanceområdet i næste version af Chrome.

»Det er svært at sige på forhånd, hvor store forbedringer vi kan komme op med fremover, men det er vores erklærede hensigt at blive ved med at forbedre Javascript-performance. Vi er på ingen måde færdige endnu,« siger Mads Ager.

Send Tweet
Udskriv

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Java udviklere – Web-frontend
Udgivet 16. jun 2011 14.21
Java udviklere – backend – gerne med Oracle erfaring
Udgivet 16. jun 2011 14.38
Java EE/Web Developer (7261)
Udgivet 7. maj 15.02
Nykredit søger javaudviklere
Udgivet 13. apr 13.55

Kommentarer (2)

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

Følg kommentarer
Michael Schade 26. maj. 2009 - 21.43
 
?

Så i satte en profiler på javascript og så hvor der var spildtid I kunne korrigere?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Erik Corry 27. maj. 2009 - 09.12
 
Profiler

Ja, der er en profiler indbygget i V8.

  • 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

NemID sender Mac-computere fra 2009 ud i kulden

Udgivet 21. maj 10.42Opdateret 21. maj 10.59

It-konsulent hjalp ven med virus-problemer - og havnede i retten

Udgivet 21. maj 10.11Opdateret 21. maj 11.04

Microsoft lancerer socialt netværk - nu med videofester

Udgivet 21. maj 9.27Opdateret 21. maj 9.36

Vestager: Drop CPR - brug NemID til at verificere danskerne på nettet

Udgivet 21. maj 8.04Opdateret 21. maj 8.04

Fed business case: Giv alle dine medarbejdere iPhones

Udgivet 21. maj 6.59Opdateret 21. maj 10.39

Flere it-nyheder »

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

Whitepapers

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

Ressourcehåndtering

Projectplace
  • Flere whitepapers

Branchenyheder

Komplex it er blevet Brocade Premier Partner

Komplex IT

Øg din effektivitet og produktivitet med bizhub C654/C754

Konica Minolta Business Solutions Denmark

Brugerfjendtlige it-løsninger gør brugerne til en sikkerhedstrussel

Projectplace

Athena IT-Group A/S med solid indtjening

Athena IT-Group

Konica Minolta præsenterer inkjet-baseret digital trykmaskine på drupa

Konica Minolta Business Solutions Denmark

Seneste debat

  1. Cisco kan være en dyr netværksreligion

    2 comments.
    Last update 46 sekunder
    Skrevet af Mikkel Tobiasen
  2. It-konsulent hjalp ven med virus-problemer - og havnede i retten

    1 comment.
    Last update 8 minutter 42 sekunder
    Skrevet af Martin Westergaard Lassen
  3. Vestager: Drop CPR - brug NemID til at verificere danskerne på nettet

    5 comments.
    Last update 9 minutter 48 sekunder
    Skrevet af Torben Mogensen
  4. Fed business case: Giv alle dine medarbejdere iPhones

    12 comments.
    Last update 12 minutter 48 sekunder
    Skrevet af Morten Espensen
  5. NemID sender Mac-computere fra 2009 ud i kulden

    1 comment.
    Last update 19 minutter 56 sekunder
    Skrevet af Christian Schmidt
  6. Dart: Dynamisk Statisk Programmering

    1 comment.
    Last update 39 minutter 22 sekunder
    Skrevet af Kræn Hansen
  7. To psykologiske årsager til at IT-projekter går galt

    1 comment.
    Last update 51 minutter 44 sekunder
    Skrevet af Torben Mogensen
  8. Diablo III overtrumfer Yousees planer om kabelarbejde

    16 comments.
    Last update 1 time 6 minutter
    Skrevet af Peter Binderup

Mere debat »

It-virksomheder

Delegate
|
Visma
|
Byggeweb
|
Forward IT
|
Redpill Linpro
|
NNIT
|
CFN People A/S
|
SimCorp
|
Computerfriend.DK
|
Futurecom Business Solutions
|
Ubivox
|
MOC
 

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