Use more tiling workers than NumCPU.
authorTom Clegg <tom@tomclegg.ca>
Thu, 5 Mar 2020 19:18:08 +0000 (14:18 -0500)
committerTom Clegg <tom@tomclegg.ca>
Thu, 5 Mar 2020 19:18:08 +0000 (14:18 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

import.go

index 98c10254bfd6673952c308696906689fd22a6420..433ed65bcc5793127ca5a5fa5a3e54fe1562805d 100644 (file)
--- a/import.go
+++ b/import.go
@@ -307,9 +307,10 @@ func (cmd *importer) tileInputs(tilelib *tileLibrary, infiles []string) error {
        }
        go close(todo)
        var tileJobs sync.WaitGroup
-       running := int64(runtime.NumCPU())
-       for i := 0; i < runtime.NumCPU(); i++ {
+       var running int64
+       for i := 0; i < runtime.NumCPU()*9/8+1; i++ {
                tileJobs.Add(1)
+               atomic.AddInt64(&running, 1)
                go func() {
                        defer tileJobs.Done()
                        defer atomic.AddInt64(&running, -1)