Maison >développement back-end >Golang >Explication détaillée des paramètres d'utilisation du processeur Golang
La colonne tutorielle suivante de golang vous donnera une explication détaillée des paramètres d'utilisation du processeur Golang. J'espère qu'elle sera utile aux amis dans le besoin !
Pour les tests suivants, la version Go utilisée est la 1.8.3
Si runtime.GOMAXPROCS n'est pas appelé pour définir le CPU, Golang utilise tous les cœurs du processeur par défaut.
Le processeur de la machine de test a 4 cœurs et le code de test ouvre 4 goroutines. D'après les résultats du test, on peut voir que les 4 cœurs sont entièrement chargés.
Le code de test est le suivant :
package main func main() { go task() go task() go task() go task() select{} } func task(){ for { } }
func GOMAXPROCS(n int) int
GOMAXPROCS définit le nombre maximum de processeurs pouvant être exécutés simultanément et renvoie le paramètre précédent . Si n < 1, cela ne modifie pas le paramètre actuel.
Définissez le nombre de processeurs utilisés lors de l'exécution simultanée
Par exemple, définissez pour utiliser un seul cœur
runtime.GOMAXPROCS(1)
Configurer pour utiliser seulement 2 cœurs
runtime.GOMAXPROCS(2)
Le code de test est le suivant, configurer un seul cœur :
package main import ( "runtime" ) func main() { runtime.GOMAXPROCS(1) go task() go task() go task() go task() select{} } func task(){ for { } }
Parfois, nous utilisons souvent :
runtime.GOMAXPROCS( runtime.NumCPU())
func NumCPU() int NumCPU returns the number of logical CPUs usable by the current process.
La fonction renvoie le nombre de processeurs logiques disponibles pour le processus en cours
Actuellement testé, en utilisant ceci pour définir le CPU a le même effet que de ne pas appeler GOMAXPROCS, utilisez simplement le nombre de tous les cœurs du CPU.
Derniers résultats des tests :
Machine de test : CPU MAC 8 cœurs
Version : version go go1.13 darwin/amd64
1. N'utilisez pas GOMAXPROCS pour configurer le processeur
8 goroutines, qui peuvent exécuter 8 cœurs, et l'utilisation du processeur peut atteindre jusqu'à 800 %
2. Utilisez GOMAXPROCS pour configurer le processeur
. 🎜>8 goroutines
- Réglé pour utiliser seulement 1 cœur, l'utilisation du processeur peut atteindre jusqu'à 100 %
- Réglé pour utiliser seulement 2 cœurs, l'utilisation du processeur peut atteindre jusqu'à 200 %
En d'autres termes, GOMAXPROCS peut être utilisé pour configurer le programme afin qu'il utilise le plus grand nombre de cœurs de processeur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!