⚡️ The computers are fast, but you don't know it

Artikeln beskriver en process för att optimera en Python-funktion, central för en maskininlärningstjänst, med målet att minska exekveringstiden från minuter till sekunder. Den första optimeringen innebar att ersätta Pandas-biblioteket med rena Python-listor och förbättra algoritmen, vilket resulterade i en hastighetsökning på cirka 9900%. Ytterligare prestandaförbättringar uppnåddes genom att använda Cython för att kompilera Python-koden, vilket gav en ytterligare ökning på cirka 82%. Den mest betydande hastighetsökningen kom från att skriva om kritiska delar av funktionen i ren C++ och sedan integrera den med Python, vilket ledde till en ökning på cirka 119%. Slutligen parallelliserades beräkningarna med Cython och prange för att kringgå Python Global Interpreter Lock (GIL) på en flerkärnig maskin, vilket gav en sista hastighetsökning på cirka 237%.