首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 15:18:32 +08:00
commit d6393266b0
193 changed files with 14287 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
package main
import (
"fmt"
"runtime"
"time"
)
// noPrealloc 未预分配容量,频繁扩容
func noPrealloc() {
var data []int
for i := 0; i < 100000; i++ {
data = append(data, i)
}
}
// withPrealloc 预分配容量,无扩容
func withPrealloc() {
data := make([]int, 0, 100000) // 预分配容量100000
for i := 0; i < 100000; i++ {
data = append(data, i)
}
}
func main() {
var stats runtime.MemStats
// 测试未预分配
runtime.GC()
start := time.Now()
noPrealloc()
dur1 := time.Since(start)
runtime.ReadMemStats(&stats)
fmt.Printf("未预分配:耗时%v,堆分配%d KBGC次数%d\n", dur1, stats.HeapAlloc/1024, stats.NumGC)
// 测试预分配
runtime.GC()
start = time.Now()
withPrealloc()
dur2 := time.Since(start)
runtime.ReadMemStats(&stats)
fmt.Printf("预分配:耗时%v,堆分配%d KBGC次数%d\n", dur2, stats.HeapAlloc/1024, stats.NumGC)
}