[l]Spannender Mozilla-Blogeintrag über Profile Guided Optimization in gcc und binutils und insbesondere die neue Funktion zum Block Reordering. Das war lange Jahre lang der Hauptvorteil des Intel-Compilers, und Microsoft hat für Windows auch ein Tool, das die Binaries umsortiert, damit der kritische Pfad beieinanderliegt. Man kann sich das wie Filesystem-Defragmentierung vorstellen, nur für ein Programm. Der Compiler guckt sich dabei an, welcher Pfad ausgeführt wird, und tut den nebeneinander ins Binary, damit die Platte beim Laden nicht so rumrennen muss. Und wenn der Compiler das gut macht, dann schiebt er dabei auch weniger wichtigen Code auf andere Pages, so dass insgesamt weniger Pages geladen werden müssen.