2024-05-17 18:30:33 +08:00
|
|
|
// Copyright 2021 GoEdge goedge.cdn@gmail.com. All rights reserved.
|
2021-12-09 12:07:46 +08:00
|
|
|
|
2024-05-11 09:23:54 +08:00
|
|
|
package zero_test
|
2021-12-09 12:07:46 +08:00
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"runtime"
|
|
|
|
|
"testing"
|
2024-07-27 15:42:50 +08:00
|
|
|
|
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
|
2021-12-09 12:07:46 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestZero_Chan(t *testing.T) {
|
|
|
|
|
var stat1 = &runtime.MemStats{}
|
|
|
|
|
runtime.ReadMemStats(stat1)
|
|
|
|
|
|
2024-05-11 09:23:54 +08:00
|
|
|
var m = make(chan zero.Zero, 2_000_000)
|
2021-12-09 12:07:46 +08:00
|
|
|
for i := 0; i < 1_000_000; i++ {
|
2024-05-11 09:23:54 +08:00
|
|
|
m <- zero.New()
|
2021-12-09 12:07:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var stat2 = &runtime.MemStats{}
|
|
|
|
|
runtime.ReadMemStats(stat2)
|
|
|
|
|
t.Log(stat2.HeapInuse, stat1.HeapInuse, stat2.HeapInuse-stat1.HeapInuse, "B")
|
|
|
|
|
t.Log(len(m))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestZero_Map(t *testing.T) {
|
|
|
|
|
var stat1 = &runtime.MemStats{}
|
|
|
|
|
runtime.ReadMemStats(stat1)
|
|
|
|
|
|
2024-05-11 09:23:54 +08:00
|
|
|
var m = map[int]zero.Zero{}
|
2021-12-09 12:07:46 +08:00
|
|
|
for i := 0; i < 1_000_000; i++ {
|
2024-05-11 09:23:54 +08:00
|
|
|
m[i] = zero.New()
|
2021-12-09 12:07:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var stat2 = &runtime.MemStats{}
|
|
|
|
|
runtime.ReadMemStats(stat2)
|
|
|
|
|
t.Log((stat2.HeapInuse-stat1.HeapInuse)/1024/1024, "MB")
|
|
|
|
|
t.Log(len(m))
|
|
|
|
|
|
|
|
|
|
_, ok := m[1024]
|
|
|
|
|
t.Log(ok)
|
|
|
|
|
}
|