fix: improve cache state clearing and average calculation logic
This commit is contained in:
@@ -26,7 +26,9 @@ func (a *AvgCacheState) Clear() {
|
||||
a.mu.Lock()
|
||||
defer a.mu.Unlock()
|
||||
|
||||
a.avgs = make([]cachestate.CacheState, a.size) // zeroed
|
||||
for i := 0; i < len(a.avgs); i++ {
|
||||
a.avgs[i] = cachestate.CacheStateMiss
|
||||
}
|
||||
}
|
||||
|
||||
// Add adds a cache state to the average cache state.
|
||||
@@ -45,16 +47,13 @@ func (a *AvgCacheState) Avg() float64 {
|
||||
a.mu.Lock()
|
||||
defer a.mu.Unlock()
|
||||
|
||||
var hits, misses int
|
||||
var hits int
|
||||
for _, cs := range a.avgs {
|
||||
switch cs {
|
||||
case cachestate.CacheStateHit:
|
||||
hits++
|
||||
case cachestate.CacheStateMiss:
|
||||
misses++
|
||||
}
|
||||
}
|
||||
total := hits + misses
|
||||
|
||||
return float64(hits) / float64(total)
|
||||
return float64(hits) / float64(len(a.avgs))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user