hugolib: Cleanup the Goroutine count calculation - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit 13972d6c833f7837e8a04b1931e25e6fcc2e10c8
DIR parent 91968f3b1fad64a5cae53e18113e50ea50e14bbd
HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Tue, 21 Feb 2017 18:56:56 +0100
hugolib: Cleanup the Goroutine count calculation
Diffstat:
M hugolib/hugo_sites.go | 3 ++-
M hugolib/site.go | 13 ++++++-------
M hugolib/site_render.go | 4 ++--
3 files changed, 10 insertions(+), 10 deletions(-)
---
DIR diff --git 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()
DIR diff --git 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)
}
DIR diff --git 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)
}