Improved performance of the safe prime generator #9

Merged
pdyraga merged 17 commits from master into master 2018-08-02 06:47:13 -04:00
Showing only changes of commit 530e40c1d4 - Show all commits
+3 -3
View File
@@ -68,19 +68,19 @@ func GenerateSafePrime(
return nil, nil, errors.New("safe prime size must be at least 6 bits")
}
primeChan := make(chan safePrime, 1)
errChan := make(chan error, 1)
primeChan := make(chan safePrime, concurrencyLevel)
errChan := make(chan error, concurrencyLevel)
defer close(primeChan)
defer close(errChan)
mutex := &sync.Mutex{}
waitGroup := &sync.WaitGroup{}
waitGroup.Add(concurrencyLevel)
ctx, cancel := context.WithCancel(context.Background())
for i := 0; i < concurrencyLevel; i++ {
waitGroup.Add(1)
runGenPrimeRoutine(
ctx, primeChan, errChan, mutex, waitGroup, random, bitLen,
)