Kodsnack 655 - Gratis prestanda
2025-08-12 05:26
Fredrik och Tobias diskuterar en tillräckligt mystisk bugg Tobias jagat ifatt, och berättar på vägen om register och vektorisering.
Tobias har sedan sist varit med och levererat sitt första spel på Ubisoft och berättar om vad som fanns att göra på kompilatornivå sex månader innan ett Assassins' creed-spel ska släppas.
Men huvudämnet är vektorisering. Det började givetvis med en konstig bugg, som kräver ett par dykningar i hur processorer och kompilatorer fungerar för att få sin förklaring.
Ett stort tack till Cloudnet som sponsrar vår VPS!
Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas.
Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik.
Länkar
- Avsnitt 581
- Amanda
- Assassin’s creed shadows
- Anvil
- Profile-guided optimization
- Bitmaskande
- Perforce
- Git bisect
- Stöd oss på Ko-fi!
- Autovektorisering, eller loopvektorisering
- SSE, SSE 2, AVX
- Register i CPU:er
- Pentium
- XOR
- Scalar
- SIMD - Single instruction, multiple data
- Neon
- Pipelining i CPU:er
- Micro-ops
- Scheduler i kompilatorer
- Snowdrop
- JIT - just-in-time-kompilering
- Raw string
- Expedition 33
- Videon om skapandet av Expedition 33
Titlar
- Tillbaka från avsnitt 581
- Sporadisk gäst
- Tiden har ju sprungit som den gör
- Då finns det att göra
- Gratis prestanda
- Innan GPU:n tar över
- Två kuber ovanpå varandra
- Vart i kompilatorn gick det här åt skogen?
- Vektoriseringsmagi
- Två stora arrayer som beskriver någonting
- Ineffektivt att göra det i serie
- Inte speciellt ergonomiskt
- Det här kan jag vektorisera bort åt dig
- Bitmaskade på fel bit
- Det här är värt besväret
- Miljoner arrayer och loopar