İçeriğe geç

Sıcak Yolda Boxing (ARCH5087)

Anahtar go.performance.boxing-in-hot-path · Önem info · Kategori performance

Sıkı bir döngüde değerleri interface{} (any) içine sarmak her yinelemede heap tahsisine yol açar. Sıcak yollarda somut tipleri koruyun.

func sum(nums []int) int {
var total int
for _, n := range nums {
var boxed any = n
total += boxed.(int)
}
return total
}
func sum(nums []int) int {
var total int
for _, n := range nums {
total += n
}
return total
}

Sıcak döngülerde interface{}/any sarmalamalarını kaldırıp somut tipi doğrudan kullanın.