Prestasjonstips Gjennom årene har min kollega Sanjay Ghemawat og jeg gjort en god del fordypning i ytelsesjustering av ulike kodebiter. Vi skrev et internt Performance Hints-dokument for et par år siden som en måte å identifisere noen generelle prinsipper på, og vi har nylig publisert en versjon av det eksternt. Vi tar gjerne imot tilbakemeldinger du måtte ha! Les hele dokumentasjonen på:
Vi har forsøkt å gi konkrete eksempler på de ulike teknikkene. Noen er overordnede beskrivelser av et sett med ytelsesforbedringer, som dette settet med endringer fra 2001:
Andre er spesifikke små kodebiter som demonstrerer en teknikk:
Mange teknikker er sannsynligvis kjent for leserne, men vi syntes det var fint å ha en samling tips og triks, fra avanserte algoritmiske forbedringer til lavnivå ytelsesoptimaliseringer samlet sammen.
Sanjay og jeg hadde det også gøy med å skrive dette, hvor vi utforsket dybdene i endringslister over flere tiår på jakt etter interessante teknikker vi hadde brukt, og prøvde å gruppere dem sammen til høyere nivå-temaer.
Den offentlige versjonen er en noe renset versjon av den interne versjonen. Folk hos Google kan finne den interne versjonen på go/performance-hints, som har lenker til den faktiske endringslisten i vårt kildekodearkivsystem.
Den interne versjonen har også flere eksempler i kode som er mer sensitive (f.eks. endringer i TPU-kompilatorens backend) som vi ikke kan inkludere i den eksterne versjonen.
42