Codebase list golang-github-renekroon-ttlcache / 02eeb0e bench / bench_test.go
02eeb0e

Tree @02eeb0e (Download .tar.gz)

bench_test.go @02eeb0eraw · history · blame

package bench

import (
	"testing"
	"time"

	"github.com/ReneKroon/ttlcache"
)

func BenchmarkCacheSetWithoutTTL(b *testing.B) {
	cache := ttlcache.NewCache()
	defer cache.Close()

	for n := 0; n < b.N; n++ {
		cache.Set(string(n%1000000), "value")
	}
}

func BenchmarkCacheSetWithGlobalTTL(b *testing.B) {
	cache := ttlcache.NewCache()
	defer cache.Close()

	cache.SetTTL(time.Duration(50 * time.Millisecond))
	for n := 0; n < b.N; n++ {
		cache.Set(string(n%1000000), "value")
	}
}

func BenchmarkCacheSetWithTTL(b *testing.B) {
	cache := ttlcache.NewCache()
	defer cache.Close()

	for n := 0; n < b.N; n++ {
		cache.SetWithTTL(string(n%1000000), "value", time.Duration(50*time.Millisecond))
	}
}