From 6bff5c978b96d16bf9e2f096ddb018e4edd6d90b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 9 Oct 2023 08:51:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=80=E5=A4=84=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/caches/memory_fragment_pool_test.go | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/internal/caches/memory_fragment_pool_test.go b/internal/caches/memory_fragment_pool_test.go index 89ea522..13ecc25 100644 --- a/internal/caches/memory_fragment_pool_test.go +++ b/internal/caches/memory_fragment_pool_test.go @@ -178,14 +178,25 @@ func TestMemoryFragmentPool_GCNextBucket(t *testing.T) { } var pool = caches.NewMemoryFragmentPool() - for i := 0; i < 100; i++ { - pool.Put(make([]byte, 2<<20)) + for i := 0; i < 1000; i++ { + pool.Put(make([]byte, rands.Int(0, 100)<<20)) } - for i := 0; i < 100; i++ { + var lastLen int + for { pool.GCNextBucket() - t.Log(pool.Len(), timeutil.Format("H:i:s")) - time.Sleep(10 * time.Second) + var currentLen = pool.Len() + if lastLen == currentLen { + continue + } + lastLen = currentLen + + t.Log(currentLen, "items", pool.TotalSize(), "bytes", timeutil.Format("H:i:s")) + time.Sleep(100 * time.Millisecond) + + if currentLen == 0 { + break + } } }