-
Notifications
You must be signed in to change notification settings - Fork 415
Closed
Labels
investigateRequires further investigationRequires further investigationpriority/P2Somehow important but would not block a release.Somehow important but would not block a release.status/needs-attentionThis issue needs more eyes on it, more investigation might be required before accepting/rejecting itThis issue needs more eyes on it, more investigation might be required before accepting/rejecting it
Description
package main
import (
"fmt"
"math/rand"
"strconv"
"github.com/dgraph-io/ristretto"
)
const (
maxCnt = 1e7
maxLoop = 1e8
)
func main() {
cahchePool, err := ristretto.NewCache(&ristretto.Config{
NumCounters: 1 * 1e7,
MaxCost: 200 * (1 << 20), // allocate 200M, but running it need 2GB, why?(when i run this program, it kill by OOM)
BufferItems: 64,
Metrics: true,
})
if err != nil {
panic(err)
}
key := "def48b5abb6388d3cbbb18e550f47b4cYB6eRI3cK1VN2qCEHp8kvuMuH20dq10cYDcG2e"
for i := 0; i < maxLoop; i++ {
suffix := strconv.Itoa(rand.Intn(maxCnt))
cahchePool.Set(key+suffix, suffix, int64(len(key+suffix)))
if (i % maxCnt) == 0 {
fmt.Println(cahchePool.Metrics)
}
}
cnt := 0
for i := 0; i < maxCnt; i++ {
if _, found := cahchePool.Get(key + strconv.Itoa(i)); found {
cnt++
}
}
fmt.Println("cnt:", cnt, "\n", cahchePool.Metrics)
}Metadata
Metadata
Assignees
Labels
investigateRequires further investigationRequires further investigationpriority/P2Somehow important but would not block a release.Somehow important but would not block a release.status/needs-attentionThis issue needs more eyes on it, more investigation might be required before accepting/rejecting itThis issue needs more eyes on it, more investigation might be required before accepting/rejecting it