When `static` makes your C code 10 times faster

Artikeln undersöker hur användningen av nyckelordet `static` för en global variabel i C-kod kan leda till en nästan tiofaldig prestandaförbättring. Prestandaökningen beror på att kompilatorer som GCC och Clang kan optimera en modulo-operation med en `static` variabel (som är en potens av två) till en betydligt snabbare bitvis AND-operation. Utan `static` kan kompilatorn inte anta att variabelns värde är konstant, vilket förhindrar denna avancerade optimering och resulterar i en dyrare divisionsoperation. Analysen utfördes genom att jämföra den genererade x86-64 assemblykoden för både den statiska och icke-statiska versionen av funktionen med hjälp av Godbolt. Författaren noterar att `const` är det korrekta sättet att markera ett oföränderligt värde, men fokuserar på `static` för att demonstrera kompilatorns beteende.