De kracht van 233 regels

chronometerDe kracht ligt hem vaak in het ongeschrevene.
Elke creatieve schrijver weet dat schrappen ook schrijven is, of althans zullen verschillende editoren hen dat wel al verteld hebben.
Het is belangrijk om niet alles te vertellen, en ook zaken over te laten aan de fantasie van de lezer. Het zo befaamde gezegde: “Tussen de regels lezen”. Soms een beangstigend begrip voor een schrijver omdat je op die manier een stuk van de controle uit handen moet geven.

Anders is het uiteraard voor het schrijven van code. Als er één ding is dat een computer niet kan doen, is het tussen de regels lezen.
Ik herinner me dat vroeger steeds gehamerd werd om de resources zo klein mogelijk te maken. Toen hadden we geen 4 GB RAM of een harde schijf van 1 Terrabyte. Soms moesten we het doen met enkele KB. Het was dan ook enorm belangrijk om heel erg efficiënt met het geheugen om te gaan.
De tijden zijn veranderd, en tegenwoordig liggen de grenzen van geheugen toch een stuk hoger, waardoor het zoeken naar mogelijkheden om het gebruik van geheugen van een applicatie iets minder dringend maakt.
Toch blijft het belangrijk. Want hoe ver we ook zijn gevorderd sinds de beginjaren, geheugen blijft nog steeds eindig.

Dat Linux veel beter met geheugen omspringt dan een Windows-systeem is een algemeen begrip. Toch kan ook binnen Linux het soms een moeilijk thema zijn. Zeker bij parallelle verwerking waar enorm veel rekencapaciteit van je processor wordt gebruikt, kun je ook binnen een Linux-systeem soms zin hebben heel je systeem het raam uit te kieperen. (Dat doe je natuurlijk niet, want dat zou verschrikkelijk duur worden).

Kernel patch stukje codeAnyway er is een nieuwe kernelpatch op de markt die volgens Linux Magazine geïntegreerd verscheept wordt met de Linux kernel 2.6.38.
De patch bestaat maar uit 233 regels, maar de gevolgen blijken spectaculair te zijn. De regels komen van Mike Galbraith, al bestond het idee al langer en zou die oorspronkelijk door Linus Torvalds geponeerd zijn geweest.
Het idee bestaat erin om de processorkracht over verschillende virtuele terminals te verdelen zodat geen enkele terminal meer alle kracht van de processor naar zich toe kan trekken, waardoor je systeem bij rekenintensieve opdrachten toch een stuk trager functioneert. Door deze patch en het feit dat geen enkele opdracht meer het grootste gedeelte van de rekencapaciteit van de processor naar zich toe kan trekken, versnelt je systeem danig;
Volgens tests door Galbraith blijkt dat de patch de maximumvertraging met een factor tien verkleint, en dat zelfs de gemiddelde vertraging 60 keer lager ligt dan voor de patch.
Linus Torvalds zou zelf ook tests uitgevoerd hebben die op zijn zachtst gezegd toch imponerend zijn. Zo heeft hij de kernel met 64 parallelle make-jobs gecompileerd, en ondertussen kon hij nog zonder problemen surfen op het internet en zijn e-mail lezen.
Verder zou het ook webpagina’s een stuk sneller laden, aldus Linus.
En de code bestaat maar uit 233 regels wat dus erg indrukwekkend is.

bronnen: Linux Magazine
Phoronix
Linux kernel mailinglist