mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
Small change in parallelisation tuning
Former-commit-id: 3fe2495b7fd86a0ba47dd87907323a457bae481a
This commit is contained in:
@ -25,7 +25,8 @@ func main() {
|
||||
// trace.Start(ftrace)
|
||||
// defer trace.Stop()
|
||||
|
||||
obioptions.SetWorkerPerCore(1)
|
||||
obioptions.SetWorkerPerCore(2)
|
||||
obioptions.SetReadWorkerPerCore(0.5)
|
||||
|
||||
optionParser := obioptions.GenerateOptionParser(obipcr.OptionSet)
|
||||
|
||||
|
@ -14,7 +14,8 @@ import (
|
||||
)
|
||||
|
||||
var _Debug = false
|
||||
var _WorkerPerCore = 2
|
||||
var _WorkerPerCore = 2.0
|
||||
var _ReadWorkerPerCore = 1.0
|
||||
var _MaxAllowedCPU = runtime.NumCPU()
|
||||
var _BatchSize = 5000
|
||||
var _Pprof = false
|
||||
@ -92,9 +93,14 @@ func CLIIsDebugMode() bool {
|
||||
// CLIParallelWorkers returns the number of parallel workers requested by
|
||||
// the command line option --workers|-w.
|
||||
func CLIParallelWorkers() int {
|
||||
return _MaxAllowedCPU * _WorkerPerCore
|
||||
return int(float64(_MaxAllowedCPU) * float64(_WorkerPerCore))
|
||||
}
|
||||
|
||||
func CLIReadParallelWorkers() int {
|
||||
return int(float64(_MaxAllowedCPU) * float64(_ReadWorkerPerCore))
|
||||
}
|
||||
|
||||
|
||||
// CLIParallelWorkers returns the number of parallel workers requested by
|
||||
// the command line option --workers|-w.
|
||||
func CLIMaxCPU() int {
|
||||
@ -116,14 +122,22 @@ func DebugOff() {
|
||||
_Debug = false
|
||||
}
|
||||
|
||||
func SetWorkerPerCore(n int) {
|
||||
func SetWorkerPerCore(n float64) {
|
||||
_WorkerPerCore = n
|
||||
}
|
||||
|
||||
func WorkerPerCore() int {
|
||||
func SetReadWorkerPerCore(n float64) {
|
||||
_ReadWorkerPerCore = n
|
||||
}
|
||||
|
||||
func WorkerPerCore() float64 {
|
||||
return _WorkerPerCore
|
||||
}
|
||||
|
||||
func ReadWorkerPerCore() float64 {
|
||||
return _ReadWorkerPerCore
|
||||
}
|
||||
|
||||
func SetBatchSize(n int) {
|
||||
_BatchSize = n
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ func CLIReadBioSequences(filenames ...string) (obiiter.IBioSequence, error) {
|
||||
opts = append(opts, obiformats.OptionsFastSeqHeaderParser(obiformats.ParseGuessedFastSeqHeader))
|
||||
}
|
||||
|
||||
nworkers := obioptions.CLIParallelWorkers()
|
||||
nworkers := obioptions.CLIReadParallelWorkers()
|
||||
if nworkers < 2 {
|
||||
nworkers = 2
|
||||
}
|
||||
|
@ -56,5 +56,5 @@ func IExtractBarcode(iterator obiiter.IBioSequence) (obiiter.IBioSequence, error
|
||||
}
|
||||
log.Printf("Sequence demultiplexing using %d workers\n", obioptions.CLIParallelWorkers())
|
||||
|
||||
return newIter.Speed("Demultiplexing"), nil
|
||||
return newIter, nil
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
package obitag
|
||||
|
||||
import (
|
||||
"log"
|
||||
"math"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obialign"
|
||||
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter"
|
||||
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obikmer"
|
||||
|
Reference in New Issue
Block a user