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.
This commit is contained in:
Ajit Yagaty 2016-05-11 00:51:00 -07:00
parent 5ddb532072
commit 34b0736f2c

View File

@ -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)) {