diff options
| author | Jakob Unterwurzacher | 2017-06-01 20:53:03 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2017-06-01 20:55:13 +0200 | 
| commit | 53b7c17261dbf0aeb46ebb448f7c97d5c9fad986 (patch) | |
| tree | b5213f87c037d4008a66309732962b61b97a9a22 | |
| parent | f44902aaaeb8f60060c2f852b66962eca1df6b99 (diff) | |
Don't cap GOMAXPROCS at 4.
Before Go 1.5, GOMAXPROCS defaulted to 1, hence it made
sense to unconditionally increase it to 4.
But since Go 1.5, GOMAXPROCS defaults to the number of cores,
so don't keep it from increasing above 4.
Also, update the performance numbers.
| -rw-r--r-- | Documentation/performance.txt | 1 | ||||
| -rw-r--r-- | main.go | 9 | 
2 files changed, 8 insertions, 2 deletions
| diff --git a/Documentation/performance.txt b/Documentation/performance.txt index 21d9b0c..de2c1bc 100644 --- a/Documentation/performance.txt +++ b/Documentation/performance.txt @@ -28,6 +28,7 @@ v1.2.1-33         112          21    12    1.6    4.4 (go1.8)  v1.2.1-33  -serialize_reads  116          21    39    1.5    4.4  v1.3-27           113          20    11    1.4    4.2 +v1.3-53-gf44902a  119          19    12    1.6    4.1  Results for EncFS for comparison (benchmark.bash -encfs):      @@ -11,6 +11,8 @@ import (  	"strings"  	"time" +	"github.com/hanwen/go-fuse/fuse" +  	"github.com/rfjakob/gocryptfs/internal/configfile"  	"github.com/rfjakob/gocryptfs/internal/contentenc"  	"github.com/rfjakob/gocryptfs/internal/exitcodes" @@ -18,7 +20,6 @@ import (  	"github.com/rfjakob/gocryptfs/internal/speed"  	"github.com/rfjakob/gocryptfs/internal/stupidgcm"  	"github.com/rfjakob/gocryptfs/internal/tlog" -	"github.com/hanwen/go-fuse/fuse"  )  // GitVersion is the gocryptfs version according to git, set by build.bash @@ -111,7 +112,11 @@ func printVersion() {  }  func main() { -	runtime.GOMAXPROCS(4) +	mxp := runtime.GOMAXPROCS(0) +	if mxp < 4 { +		// On a 2-core machine, setting maxprocs to 4 gives 10% better performance +		runtime.GOMAXPROCS(4) +	}  	var err error  	// Parse all command-line options (i.e. arguments starting with "-")  	// into "args". Path arguments are parsed below. | 
