Filmen bor hos naboen
Når du trykker play på Netflix i Oslo, kommer filmen nesten helt sikkert ikke fra USA. Netflix har satt egne servere inn hos internettleverandørene, nær tusen steder rundt om i verden, så filmen ligger noen få kilometer fra sofaen din.
Det beste er hvordan de vet hva som skal ligge der. Om natten, mens nettet er rolig, fyller Netflix boksene med det de regner med at du og naboene dine kommer til å se i morgen. Kommer en ny sesong av en serie alle snakker om, ligger den der før du har rukket å bestemme deg.
Prosessoren din gjør akkurat det samme, bare i miniatyr og en milliard ganger fortere. Den gjetter hva du kommer til å trenge, og legger det nær før du spør. Og den gjetter forbløffende ofte riktig.
Men det reiser et spørsmål. Hvis det er så lurt å ha alt nær, hvorfor legger vi ikke bare alt der? Hvorfor har maskinen din et halvt dusin forskjellige slags minne, i stedet for ett som er stort og raskt?
To nøtter å ta med seg
Den første er det mest populære spørsmålet som noen gang er stilt på Stack Overflow, med flere stemmer enn noe annet spørsmål på hele nettstedet. En programmerer hadde skrevet en enkel løkke som gikk gjennom en lang liste med tall og la sammen de store. Det var alt. Så sorterte programmereren lista først, og kjørte nøyaktig den samme løkka på nøyaktig de samme tallene.
Den gikk mange ganger fortere.
Samme tall, samme kode, like mange addisjoner. Det eneste som var endret, var rekkefølgen. Hvorfor i all verden skulle det bety noe? Gjett før du kommer.
Den andre: du skriverx = 5i et program. Hvor mange steder i maskinen finnes x nå?
Svaret er ikke ett. Og en liten stund etterpå er de forskjellige kopiene ikke engang enige om hva x er.
Hva du får igjen for å komme
Dette er vendepunktet i emnet. Siden første forelesning har vi gått nedover, helt til transistoren. Nå snur vi og begynner å gå oppover igjen, og det første vi møter, er de to triksene som gjør at maskinen din i det hele tatt er brukbar.
Det er også forelesningen med mest praktisk nytte for deg som skal programmere. Nesten alt i en prosessor er noe du ikke kan påvirke. Her kommer det ene du faktisk kan, og det kan utgjøre en forskjell på mange ganger i fart uten at du endrer algoritmen med et komma.
Og neste gang noen sier at internettet deres er raskt, kan du spørre: raskt som bredbånd, eller raskt som en due?
Vi sees i forelesningen!