]> Cypherpunks repositories - keks.git/commitdiff
Use half of cores by default
authorSergey Matveev <stargrave@stargrave.org>
Wed, 19 Feb 2025 14:55:27 +0000 (17:55 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 19 Feb 2025 15:11:48 +0000 (18:11 +0300)
go/cm/cmd/enctool/main.go
go/cm/cmd/hshtool/main.go
go/cm/hash/algo.go
go/cm/sign/ed25519-blake2b/signer.go
go/cm/sign/gost/signer.go

index 2eeceb57f1f63c291080db365527e38482f4c1d0f9e50747a4e1e7c4b50ca37a..a6e6ef2986c7dcbee3d6fc4660318c93a341414dc7e4f3bcce7fecd715b49b50 100644 (file)
@@ -27,7 +27,6 @@ import (
        "io"
        "log"
        "os"
-       "runtime"
        "strconv"
 
        "github.com/companyzero/sntrup4591761"
@@ -152,7 +151,7 @@ func main() {
        balloonT := flag.Int("balloon-t", 4, "Balloon's time cost")
        balloonP := flag.Int("balloon-p", 2, "Balloon's number of threads")
        doDecrypt := flag.Bool("d", false, "Decrypt")
-       parallel := flag.Int("parallel", runtime.NumCPU(), "Parallel cryptors")
+       parallel := flag.Int("parallel", cmhash.DefaultNumCPU, "Parallel cryptors")
        noblob := flag.Bool("no-stream", false, "Include payload into container")
        flag.Parse()
 
index d43cc4b7cb8619d0409d02a6749079e73fac6e1756a2bde164b122cf28dfb957..adac9ef331c89659aeea9af7558fef69eccdf1e8bbe7dc138d365ce9e354d635 100644 (file)
@@ -6,7 +6,6 @@ import (
        "fmt"
        "log"
        "os"
-       "runtime"
 
        "go.cypherpunks.su/gogost/v6/gost34112012256"
        "go.cypherpunks.su/gogost/v6/gost34112012512"
@@ -19,7 +18,7 @@ import (
 )
 
 func main() {
-       workers := flag.Int("p", runtime.NumCPU(), "Parallel workers")
+       workers := flag.Int("p", cmhash.DefaultNumCPU, "Parallel workers")
        chunkLenK := flag.Int("c", merkle.DefaultChunkLen/1024, "Chunk size, KiB")
        algo := flag.String("a", cmhash.BLAKE2bMerkle, "Algorithm to use")
        list := flag.Bool("list", false, "List available algorithms")
index 3942c7b5e6953cca6c3d4788346adbd74d5574d945b174f20addb0a529cbd6d0..073f1dcc6f5a9cb696f9887952b28ae215002e5e4fce2613ef1fdfdab13fe39a 100644 (file)
@@ -44,18 +44,20 @@ const (
        Streebog512Merkle = "streebog512-merkle"
 )
 
+var DefaultNumCPU = max(1, runtime.NumCPU()/2)
+
 func ByName(name string) hash.Hash {
        switch name {
        case Streebog256, gost.GOST3410256A:
                return gost34112012256.New()
        case Streebog256Merkle, gost.GOST3410256AMerkle:
                return gost.NewMerkleHasher(gost34112012256.New,
-                       merkle.DefaultChunkLen, runtime.NumCPU())
+                       merkle.DefaultChunkLen, DefaultNumCPU)
        case Streebog512, gost.GOST3410512C:
                return gost34112012512.New()
        case Streebog512Merkle, gost.GOST3410512CMerkle:
                return gost.NewMerkleHasher(gost34112012512.New,
-                       merkle.DefaultChunkLen, runtime.NumCPU())
+                       merkle.DefaultChunkLen, DefaultNumCPU)
        case BLAKE2b, cmblake2b.Ed25519BLAKE2b, cmblake2b.Ed25519PhBLAKE2b:
                h, err := blake2b.New512(nil)
                if err != nil {
@@ -64,7 +66,7 @@ func ByName(name string) hash.Hash {
                return h
        case BLAKE2bMerkle, cmblake2b.Ed25519PhBLAKE2bMerkle:
                return cmblake2b.NewMerkleHasher(
-                       merkle.DefaultChunkLen, runtime.NumCPU())
+                       merkle.DefaultChunkLen, DefaultNumCPU)
        case BLAKE2b256:
                h, err := blake2b.New256(nil)
                if err != nil {
@@ -77,10 +79,10 @@ func ByName(name string) hash.Hash {
                return NewSHAKE256()
        case SHAKE128Merkle:
                return NewSHAKE128MerkleHasher(
-                       merkle.DefaultChunkLen, runtime.NumCPU())
+                       merkle.DefaultChunkLen, DefaultNumCPU)
        case SHAKE256Merkle:
                return NewSHAKE256MerkleHasher(
-                       merkle.DefaultChunkLen, runtime.NumCPU())
+                       merkle.DefaultChunkLen, DefaultNumCPU)
        }
        return nil
 }
index 001ab451a995610821a1e0586176ef07d77f19f95431fbc601f0ebc85454dfe9..8e992a73575b3e15bceb48964a3acaeb2811daec9bb45c607f04c5178a67c1e1 100644 (file)
@@ -20,8 +20,8 @@ import (
        "errors"
        "hash"
        "io"
-       "runtime"
 
+       cmhash "go.cypherpunks.su/keks/cm/hash"
        cmblake2b "go.cypherpunks.su/keks/cm/hash/blake2b"
        "go.cypherpunks.su/keks/cm/hash/merkle"
        "go.cypherpunks.su/keks/cm/sign/ed25519-blake2b/ed25519"
@@ -50,7 +50,7 @@ func (s *Signer) SetMode(m mode.Mode) error {
                return nil
        case mode.Merkle:
                s.mode = m
-               h := cmblake2b.NewMerkleHasher(merkle.DefaultChunkLen, runtime.NumCPU())
+               h := cmblake2b.NewMerkleHasher(merkle.DefaultChunkLen, cmhash.DefaultNumCPU)
                s.prehasher = &h
                return nil
        default:
index 99a3a3ecf998db4e5e69ccb6390de5d3eb7e2a985fc2362d53b9ef894022f970..27ad00e7f1a88ca3036ad37a8685792249fe8f7af13bbfbf7b2144b95b2cef42 100644 (file)
@@ -20,12 +20,12 @@ import (
        "errors"
        "hash"
        "io"
-       "runtime"
 
        "go.cypherpunks.su/gogost/v6/gost3410"
        "go.cypherpunks.su/gogost/v6/gost34112012256"
        "go.cypherpunks.su/gogost/v6/gost34112012512"
 
+       cmhash "go.cypherpunks.su/keks/cm/hash"
        hashgost "go.cypherpunks.su/keks/cm/hash/gost"
        "go.cypherpunks.su/keks/cm/hash/merkle"
        "go.cypherpunks.su/keks/cm/sign/mode"
@@ -50,7 +50,7 @@ func (s *Signer) SetMode(m mode.Mode) error {
                return nil
        case mode.Merkle:
                s.mode = m
-               p := hashgost.NewMerkleHasher(s.NewHasher, merkle.DefaultChunkLen, runtime.NumCPU())
+               p := hashgost.NewMerkleHasher(s.NewHasher, merkle.DefaultChunkLen, cmhash.DefaultNumCPU)
                s.prehasher = &p
                return nil
        default: