Tipy na vystoupení Během let jsme se s kolegou Sanjayem Ghemawatem docela dost ponořili do ladění různých kódů pro výkon. Před pár lety jsme napsali interní dokument Performance Hints jako způsob, jak identifikovat obecné principy, a nedávno jsme jeho externí verzi publikovali. Rádi uslyšíme jakoukoli zpětnou vazbu, kterou byste mohli mít! Celý dokument si můžete přečíst na:
Snažili jsme se uvést konkrétní příklady různých technik. Některé jsou popisy na vysoké úrovni souboru zlepšení výkonu, například tato sada změn z roku 2001:
Jiné jsou konkrétní malé útržky kódu, které demonstrují techniku:
Mnoho technik je pravděpodobně čtenářům známo, ale přišlo nám příjemné mít sbírku tipů a triků, od pokročilých algoritmických vylepšení až po nízkoúrovňové optimalizace výkonníků, shromážděnou dohromady.
Sanjay a já jsme si také užili psaní, pronikali jsme do hloubky changelistů během několika desetiletí, hledali zajímavé techniky, které jsme použili, a snažili se je seskupit do vyšších témat.
Veřejná verze je poněkud upravená verze interní verze. Lidé v Googlu najdou interní verzi na go/performance-hints, která obsahuje odkazy na skutečný seznam změn v našem systému zdrojového kódu.
Interní verze má také další příklady v kódu, které jsou citlivější (např. změny v backendu kompilátoru TPU), které nemůžeme zahrnout do externí verze.
37