Optimisation d'un carnet d'ordres sous Go 1.22 : RingBuffer sans verrou et élimination du faux partage pour des opérations à 11ns
Problématique : pourquoi éviter map + slice pour un carnet d'ordres
Lors d'un test de charge sur un moteur de matching d'options traitant 2 millions d'ordres limites par seconde, le profilage CPU révèle deux points critiques :
runtime.mapaccess2_fast64 consomme 18% du CPU — recherche de niveau par hashmap
runtime.growSlice consomme 11% du CPU ...
Publié le 28 septembre à 16h02