From 7d1b43780aca45e06e552a65811ba2ce1b7e6091 Mon Sep 17 00:00:00 2001 From: benying <31179034+benyingY@users.noreply.github.com> Date: Tue, 1 Dec 2020 06:44:32 +0800 Subject: [PATCH] some optimize by kevwan and benying (#240) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 杨志泉 --- core/collection/rollingwindow.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/collection/rollingwindow.go b/core/collection/rollingwindow.go index c9f45aaf..b6fbe408 100644 --- a/core/collection/rollingwindow.go +++ b/core/collection/rollingwindow.go @@ -120,9 +120,9 @@ type window struct { } func newWindow(size int) *window { - var buckets []*Bucket + buckets := make([]*Bucket, size) for i := 0; i < size; i++ { - buckets = append(buckets, new(Bucket)) + buckets[i] = new(Bucket) } return &window{ buckets: buckets, @@ -136,12 +136,12 @@ func (w *window) add(offset int, v float64) { func (w *window) reduce(start, count int, fn func(b *Bucket)) { for i := 0; i < count; i++ { - fn(w.buckets[(start+i)%len(w.buckets)]) + fn(w.buckets[(start+i)%w.size]) } } func (w *window) resetBucket(offset int) { - w.buckets[offset].reset() + w.buckets[offset%w.size].reset() } func IgnoreCurrentBucket() RollingWindowOption {