Skip to content

Commit 02ea509

Browse files
committed
freelru: Reduce initial capacity
1 parent 67144b2 commit 02ea509

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

contrab/freelru/growth_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ func TestLRUGrowthRehashesCollisions(t *testing.T) {
6363
func TestLRUPurgeShrinksToInitialCapacity(t *testing.T) {
6464
lru, err := newLRUWithSize[int, int](4096, 8192, testHash)
6565
require.NoError(t, err)
66-
require.Equal(t, uint32(1024), lru.cap)
67-
require.Equal(t, uint32(2048), lru.size)
66+
require.Equal(t, uint32(defaultInitialCapacity), lru.cap)
67+
require.Equal(t, lru.minSize, lru.size)
6868
for key := 0; key < 2048; key++ {
6969
lru.Add(key, key)
7070
}
@@ -97,15 +97,15 @@ func TestShardedLRUGrowsIndividualShard(t *testing.T) {
9797
lru, err := newShardedWithSize[int, int](4, 8192, 8192, hash)
9898
require.NoError(t, err)
9999
for shard := range lru.lrus {
100-
require.Equal(t, uint32(256), lru.lrus[shard].cap)
100+
require.Equal(t, uint32(defaultInitialCapacity/4), lru.lrus[shard].cap)
101101
require.Equal(t, uint32(2048), lru.lrus[shard].maxCap)
102102
}
103103
for key := 0; key < 512; key++ {
104104
lru.Add(key, key)
105105
}
106106
require.Equal(t, uint32(512), lru.lrus[0].cap)
107107
for shard := 1; shard < 4; shard++ {
108-
require.Equal(t, uint32(256), lru.lrus[shard].cap)
108+
require.Equal(t, uint32(defaultInitialCapacity/4), lru.lrus[shard].cap)
109109
}
110110
}
111111

contrab/freelru/lru.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ type element[K comparable, V comparable] struct {
6464

6565
const emptyBucket = math.MaxUint32
6666

67-
const defaultInitialCapacity = 1024
67+
const defaultInitialCapacity = 64
6868

6969
// LRU implements a non-thread safe, growable LRU cache.
7070
type LRU[K comparable, V comparable] struct {

0 commit comments

Comments
 (0)