From 2589d57ce7e8136fd59e33099cb6e08912fd7a98 Mon Sep 17 00:00:00 2001 From: Ryan Slade Date: Thu, 23 Jul 2020 18:01:34 +0200 Subject: [PATCH] Revert "Use a buffer pool for field buffers" This reverts commit 7ee5d02fd6c4defbffcee26cc976d8232ac7e4c5. --- internal/exec/exec.go | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/internal/exec/exec.go b/internal/exec/exec.go index 52ad3b0e..3241adcc 100644 --- a/internal/exec/exec.go +++ b/internal/exec/exec.go @@ -66,26 +66,12 @@ func resolvedToNull(b *bytes.Buffer) bool { return bytes.Equal(b.Bytes(), []byte("null")) } -var bufferPool = sync.Pool{ - New: func() interface{}{ - return new(bytes.Buffer) - }, -} - func (r *Request) execSelections(ctx context.Context, sels []selected.Selection, path *pathSegment, s *resolvable.Schema, resolver reflect.Value, out *bytes.Buffer, serially bool) { async := !serially && selected.HasAsyncSel(sels) var fields []*fieldToExec collectFieldsToResolve(sels, s, resolver, &fields, make(map[string]*fieldToExec)) - defer func() { - for _, f := range fields { - if f.out != nil { - bufferPool.Put(f.out) - } - } - }() - if async { var wg sync.WaitGroup wg.Add(len(fields)) @@ -93,16 +79,14 @@ func (r *Request) execSelections(ctx context.Context, sels []selected.Selection, go func(f *fieldToExec) { defer wg.Done() defer r.handlePanic(ctx) - f.out = bufferPool.Get().(*bytes.Buffer) - f.out.Reset() + f.out = new(bytes.Buffer) execFieldSelection(ctx, r, s, f, &pathSegment{path, f.field.Alias}, true) }(f) } wg.Wait() } else { for _, f := range fields { - f.out = bufferPool.Get().(*bytes.Buffer) - f.out.Reset() + f.out = new(bytes.Buffer) execFieldSelection(ctx, r, s, f, &pathSegment{path, f.field.Alias}, true) } }