From 13972d6c833f7837e8a04b1931e25e6fcc2e10c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 21 Feb 2017 18:56:56 +0100 Subject: [PATCH] hugolib: Cleanup the Goroutine count calculation --- hugolib/hugo_sites.go | 3 ++- hugolib/site.go | 13 ++++++------- hugolib/site_render.go | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go index 624cb2b9f..dbaec1644 100644 --- a/hugolib/hugo_sites.go +++ b/hugolib/hugo_sites.go @@ -484,8 +484,9 @@ func (h *HugoSites) setupTranslations() { func (s *Site) preparePagesForRender(cfg *BuildCfg) { pageChan := make(chan *Page) wg := &sync.WaitGroup{} + numWorkers := getGoMaxProcs() * 4 - for i := 0; i < getGoMaxProcs()*4; i++ { + for i := 0; i < numWorkers; i++ { wg.Add(1) go func(pages <-chan *Page, wg *sync.WaitGroup) { defer wg.Done() diff --git a/hugolib/site.go b/hugolib/site.go index 415a1c597..e2aa7449f 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -1150,11 +1150,10 @@ func (s *Site) readPagesFromSource() chan error { files := s.Source.Files() results := make(chan HandledResult) filechan := make(chan *source.File) - procs := getGoMaxProcs() wg := &sync.WaitGroup{} - - wg.Add(procs * 4) - for i := 0; i < procs*4; i++ { + numWorkers := getGoMaxProcs() * 4 + wg.Add(numWorkers) + for i := 0; i < numWorkers; i++ { go sourceReader(s, filechan, results, wg) } @@ -1178,11 +1177,11 @@ func (s *Site) convertSource() chan error { results := make(chan HandledResult) pageChan := make(chan *Page) fileConvChan := make(chan *source.File) - procs := getGoMaxProcs() + numWorkers := getGoMaxProcs() * 4 wg := &sync.WaitGroup{} - wg.Add(2 * procs * 4) - for i := 0; i < procs*4; i++ { + for i := 0; i < numWorkers; i++ { + wg.Add(2) go fileConverter(s, fileConvChan, results, wg) go pageConverter(pageChan, results, wg) } diff --git a/hugolib/site_render.go b/hugolib/site_render.go index c67743394..5709aa83a 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -33,11 +33,11 @@ func (s *Site) renderPages() error { go errorCollator(results, errs) - procs := getGoMaxProcs() + numWorkers := getGoMaxProcs() * 4 wg := &sync.WaitGroup{} - for i := 0; i < procs*4; i++ { + for i := 0; i < numWorkers; i++ { wg.Add(1) go pageRenderer(s, pages, results, wg) }