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()
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)
}
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)
}
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)
}