diff --git a/packer.go b/packer.go
index <HASH>..<HASH> 100644
--- a/packer.go
+++ b/packer.go
@@ -8,6 +8,7 @@ import (
 	"io/ioutil"
 	"log"
 	"os"
+	"runtime"
 )
 
 func main() {
@@ -19,6 +20,11 @@ func main() {
 		log.SetOutput(os.Stderr)
 	}
 
+	// If there is no explicit number of Go threads to use, then set it
+	if os.Getenv("GOMAXPROCS") == "" {
+		runtime.GOMAXPROCS(runtime.NumCPU())
+	}
+
 	defer plugin.CleanupClients()
 
 	config, err := parseConfig(defaultConfig)
packer: Set GOMAXPROCS for number of CPU if n ot set