Her er historien bag Chromes danske V8-motor

Her kommer historien om den danske udvikling af javascript-engine V8 i googles nye browser, Chrome.

Artikel top billede

"Google Århus is hiring software engineers to design and implement high performance virtual machines."

Sådan lød det på blandt andet på Googles egen jobannonceside og andre jobwebsites sidste år.

Google havde tidligere åbnet et udviklingscenter i Smilets By og søgte nu folk til at hjælpe med udviklingen af højtydende virtuelle maskiner.

Hvis ansøgere havde en Ph.D-grad ville det være et plus. Viden om garbage collection, fortolkning og kompilering var essentiel.

Det var "verdensklasse softwareudviklere," som Google var på udkig efter.

Århus et talentsted

Det var ikke tilfældigt, at Google etablerede sig i Århus.
Google sagde selv ved etableringen af udviklingscenteret, at Århus var et udklækningssted for softwareudviklingstalenter.

Lederen af Google Danmark, Peter Friis, blev blandt andet citeret for at sige:

""Google går til de steder, hvor der er de største talenter. Vi vælger Århus ikke fordi vi vælger andre fra, men fordi Århus har velegnede folk.Traditionelt har tankegangen været at flyve de talentfulde folk til USA, men nu placerer vi centrene i miljøerne, hvor talenterne bliver født."

Det var dog ikke kun de gode århusianske dataloger og softwareingeniører, der trak Google til Århus.

En medvirkende årsag var også et personligt netværk på tværs af Atlanten.

Det personlige netværk

"Folk klager over, at folk tager til udlandet, men nogle gange kommer de altså også hjem med noget," sagde Ole Lehrman Madsen, professor på Århus Universitet i et tidligere Computerworld-interview.

Som eksempel nævnte han en af sine tidligere studerende, Lars Bak, der arbejdede for Sun i 1990'erne.

Hos Sun arbejdede Lars Bak blandt andet sammen med Urs Hölzle, der siden blev vicepresident hos Google.

"Urs Hölzle havde tidligere fortalt Lars, at hvis han ville lave noget for Google, så kunne de oprette en afdeling i Århus," lyder det fra Ole Lehrmann Madsen.

Det var Lars Bak, der etablerede Googles danske udviklingsafdeling i Århus.

Mesteren i virtuelle maskiner

Men det er selvfølgelig ikke kun det personlige netværk, der tæller.

Urs Hölzle havde gennem sit arbejde hos Sun fået kendskab til Lars Baks enestående viden om og evner til at udvikle virtuel maskin-teknologi.

Lars Bak har gennem mange år specialiseret sig i virtuelle maskiner.

Han var en af grundlæggerne af OOVM (Object-Oriented Virtual Machine), som blev solgt til det svejtsiske firma Esmertec for nogle år siden.

Fra det projekt har han en meget stor ekspertise i at konstruere små, effektive virtuelle maskiner (VM).

En af den blev kendt for at rumme en komplet bytekode-fortolker, som eksempelvis er relevant for Java-sproget samt en komplet TCP/IP-stak.

VM'en fyldte dog kun 128 kilobytes.

Software, der kørte på fortolkeren, kunne udskiftes løbende uden at genstarte VM. Derfor var den ideel til fjernopdatering af små, embeddede systemer uden operativsystem.

Gennem sit arbejde hos Sun i 1990'erne, stod han blandt andet bag Hotspot-teknologien, der har haft stor betydning for Java-teknologien.

Fadder til Hotspot

Til forskel fra eksempelvis C-programmer, der kompileres direkte til maskinkode, der kan udføres af en processor, så kompileres java-programmer til såkaldt java-bytekode.

Når programmet rent faktisk skal afvikles, så er det Java Virtual Machine (JVM), der sørger for, at java-bytekoden eksekveres på platformen.

Det gør java-programmer transportable på tværs af platforme - derfor javas slogan "write once, run anywhere" - men også potentielt langsommere end eksempelvis C-programmer.

Med Hotspot-teknologien blev eksekveringen af Java-programmer væsentligt hurtigere.

SELF og adaptive compilere

En inspirationskilde for Lars Bak og Urs Hölzles arbejde med at optimere Hotspot kom fra forskningssproget SELF.

Det er et såkaldt protoypebaseret sprog, der i modsætning til normale objektorienterede sprog ikke har klasser, kun objekter. Nye objekter skabes ved at tage et eksisterende objekt og modificere det. SELF anvender såkaldt adaptive compilation; en teknik som Lars Bak og Urs Hölzle benyttede til at udvikle Hotspot-teknologien til Java.

En interessant detalje er, at Javascript ganske som SELF ikke er baseret på klasser.

Nu ser det ud til at Lars Bak og hans kolleger har givet et performanceboost til javascript-engines, ligesom Lars Bak og andre tidligere gav Javas VM et skud steroider.

Kompileret javascript og forbedret garbage collection

I Googles pædagogiske tegneserie om Chrome fortæller siderne 13 - 17 om hvordan Chromes javascript-engine kaldet V8 er forbedret i forhold til andre javascript-engines.

Her fremhæves blandt andet, at V8 rent faktisk tager javascript-kode og genererer maskinkode til CPU'en i stedet for blot som normalt at fortolke Javascript.

Tegneserien-figuren, der repræsenterer Lars Bak, fremhæver V8's forbedrede garbage collection. Garbage collectoren sørger for at rydde op i memory, så der ikke forekommer memoryleaks, og den gør det hurtigere end normale Garbage collectors.

Det er en anden dansker, Kasper Lund, der i tegneserien fortæller om V8's kompilering af javascript-kode.

Kasper Lund skrev sin Masters Thesis i datalogi (PDF) i maj 2003 om virtuel maskin-teknologi.

Afhandlingen tager udgangspunkt i det arbejde, som Kasper Lund udførte i virksomheden OOVM.

Annonceindlæg fra 7N A/S

7N: Specialisterne bag Europas digitale forsvarsparathed

Når Danmark og Europa skal ruste sig til en ny sikkerhedspolitisk virkelighed, handler det ikke længere kun om materiel og mandskab.

En kaotisk verden kræver stærk cybersikkerhed, resiliens og digital suverænitet

Mød David Heinemeier, Flemming Splidsboel Hansen, Casper Klynge, Rasmus Knappe, Jens Myrup Pedersen og forfattere som fhv. jægersoldat Thomas Rathsack og adfærdsforsker Henrik Tingleff.

Computerworld afholder d. 4. og 5. november Cyber Security Festival i København - med fokus på sikkerhed, resiliens og digital suverænitet. Det er helt gratis - men reserver din plads allerede nu.

Hele programmet er online lige nu - og du kan reservere din gratis plads lige her - jeg håber vi ses! 

Lars Jacobsen

Chefredaktør på Computerworld

Se alle Lars's artikler her

Netcompany A/S

IT Manager

Nordjylland

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til Flådestation Frederikshavn

Nordjylland

Navnenyt fra it-Danmark

Enterprise Rent-A-Car har pr. 1. september 2025 ansat Christian Kamper Garst som Senior Key Account Manager. Han skal især beskæftige sig med at vinde markedsandele i hele Norden som led i en storstilet turnaround-strategi. Han kommer fra en stilling som Salgsdirektør hos Brøchner Hotels. Nyt job

Christian Kamper Garst

Enterprise Rent-A-Car

Norriq Danmark A/S har pr. 1. september 2025 ansat Alexander Bendix som Consultant. Han skal især beskæftige sig med tilføre nye, friske perspektiver og værdifuld viden til NORRIQS Data & AI-afdeling. Nyt job

Alexander Bendix

Norriq Danmark A/S

Norriq Danmark A/S har pr. 1. september 2025 ansat Søren Vindfelt Røn som Data & AI Consultant. Han skal især beskæftige sig med at effektivisere, planlægge og implementere innovative, digitale løsninger for Norriqs kunder. Han kommer fra en stilling som Co-founder & CMO hos DrinkSaver. Han er uddannet Masters of science på Københavns IT-Universitet. Nyt job

Søren Vindfelt Røn

Norriq Danmark A/S

Netip A/S har pr. 19. august 2025 ansat Burak Cavusoglu som Datateknikerelev ved afd.Thisted og afd. Rønnede. Nyt job

Burak Cavusoglu

Netip A/S