From 2461faf737aa53d63a8d9c9c73d6ef4deda88aca Mon Sep 17 00:00:00 2001 From: zenghur Date: Thu, 23 Apr 2020 16:14:51 +0800 Subject: [PATCH] chore: pool size --- cache.go | 7 +++++-- cache_test.go | 11 +++++++++++ hash_test.go | 14 +++++++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/cache.go b/cache.go index 59f4491..8f0a572 100755 --- a/cache.go +++ b/cache.go @@ -20,7 +20,7 @@ type Cache struct { func New(setters ...Setter) (*Cache, error) { c := new(Cache) c.GCInterval = 120 * time.Second - c.BucketNum = 1024 + c.BucketNum = 16 for _, setter := range setters { if err := setter(c); err != nil { @@ -40,7 +40,10 @@ func New(setters ...Setter) (*Cache, error) { monitor := func(err error) {} var err error - c.dispatcher, err = curlew.New(curlew.WithMonitor(monitor)) + c.dispatcher, err = curlew.New( + curlew.WithMonitor(monitor), + curlew.WithMaxWorkerNum(16), + ) if err != nil { return nil, err } diff --git a/cache_test.go b/cache_test.go index 5f647c9..66b49d3 100644 --- a/cache_test.go +++ b/cache_test.go @@ -16,3 +16,14 @@ func TestCache_Set(t *testing.T) { } t.Log(c.Get("one")) } + +func BenchmarkBucket_Get(b *testing.B) { + b.ResetTimer() + c, err := New() + if err != nil { + b.Fatalf("new cache failed") + } + for i := 0; i < b.N; i++ { + c.Get("sssssssssssssssssssssssss") + } +} diff --git a/hash_test.go b/hash_test.go index 89e8556..a895ad8 100644 --- a/hash_test.go +++ b/hash_test.go @@ -1,6 +1,8 @@ package roc -import "testing" +import ( + "testing" +) func TestBucket_hashIndex(t *testing.T) { cache, err := New(WithBucketNum(16)) @@ -37,5 +39,15 @@ func TestBucket_hashIndex(t *testing.T) { t.Fatalf("key = %s, want = %d, got = %d", tt.In, tt.Out, idx) } } +} +func BenchmarkBucket_hashIndex(b *testing.B) { + b.ResetTimer() + cache, err := New(WithBucketNum(16)) + if err != nil { + b.Fatalf("cache err = %+v", err) + } + for i := 0; i < b.N; i++ { + cache.hashIndex("nfjndjfndsjfnjdnjfndjscds") + } }