slice append vs 预分配

package main

func main() {
    b := make([]int, 0)
    for j:=1024; j>0; j-- {
        for i:=65536 ; i > 0; i-- {
            b = append(b, i)
        }
    }
}

append 代码如上

package main

func main() {
    b := make([]int, 1024*65536)
    for j:=0; 1024 > j; j++ {
        for i:=65536 ; i > 0; i-- {
            b[j*6536+i] = i
        }
    }
}

预分配内存空间代码

 

实验一下,动态 append 的耗时的是 预分配内存的 10倍。

 

posted @ 2020-04-13 22:53  tmortred  阅读(267)  评论(0)    收藏  举报