From 34b0736f2c5f4f7f3238da5be044be173b776921 Mon Sep 17 00:00:00 2001 From: Ajit Yagaty Date: Wed, 11 May 2016 00:51:00 -0700 Subject: [PATCH] mvcc: Reduce number of allocs when watchableStore if no watchers. When there are no watchers the number of allocations made while handling a PUT operation can be reduced by exiting early. --- mvcc/watcher_group.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mvcc/watcher_group.go b/mvcc/watcher_group.go index 4b654b751..4394f8ee0 100644 --- a/mvcc/watcher_group.go +++ b/mvcc/watcher_group.go @@ -83,6 +83,10 @@ func (wb watcherBatch) contains(w *watcher) bool { // newWatcherBatch maps watchers to their matched events. It enables quick // events look up by watcher. func newWatcherBatch(wg *watcherGroup, evs []mvccpb.Event) watcherBatch { + if len(wg.watchers) == 0 { + return nil + } + wb := make(watcherBatch) for _, ev := range evs { for w := range wg.watcherSetByKey(string(ev.Kv.Key)) {