hugolib: Buffer the render pages chan
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 4 Apr 2019 14:50:10 +0000 (16:50 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 4 Apr 2019 14:50:10 +0000 (16:50 +0200)
hugolib/site_render.go

index cf3755b925129ba43cce77fc171ba045d59da642..f3df09f094286869d1a724dfaed818f4d4488cb5 100644 (file)
@@ -55,14 +55,14 @@ func (s siteRenderContext) renderSingletonPages() bool {
 // TODO(bep np doc
 func (s *Site) renderPages(ctx *siteRenderContext) error {
 
+       numWorkers := getGoMaxProcs() * 4
+
        results := make(chan error)
-       pages := make(chan *pageState)
+       pages := make(chan *pageState, numWorkers) // buffered for performance
        errs := make(chan error)
 
        go s.errorCollator(results, errs)
 
-       numWorkers := getGoMaxProcs() * 4
-
        wg := &sync.WaitGroup{}
 
        for i := 0; i < numWorkers; i++ {