Skip to content

Commit c33fc95

Browse files
committed
Set the channel buffer size to 128 for KeysOnly queries.
1 parent dcac935 commit c33fc95

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

flatfs/flatfs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ func (fs *Datastore) Query(q query.Query) (query.Results, error) {
309309
return nil, errors.New("flatfs only supports listing all keys in random order")
310310
}
311311

312-
reschan := make(chan query.Result)
312+
reschan := make(chan query.Result, query.KeysOnlyBufSize)
313313
go func() {
314314
defer close(reschan)
315315
err := filepath.Walk(fs.path, func(path string, info os.FileInfo, err error) error {

query/query.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,16 @@ func (rb *ResultBuilder) Results() Results {
179179
}
180180
}
181181

182+
const KeysOnlyBufSize = 128
183+
182184
func NewResultBuilder(q Query) *ResultBuilder {
185+
bufSize := 1
186+
if q.KeysOnly {
187+
bufSize = KeysOnlyBufSize
188+
}
183189
b := &ResultBuilder{
184190
Query: q,
185-
Output: make(chan Result),
191+
Output: make(chan Result, bufSize),
186192
}
187193
b.Process = goprocess.WithTeardown(func() error {
188194
close(b.Output)

0 commit comments

Comments
 (0)