Maison > développement back-end > Golang > Explication détaillée des paramètres d'utilisation du processeur Golang

Explication détaillée des paramètres d'utilisation du processeur Golang

藏色散人
Libérer: 2021-06-11 11:54:28
avant
2674 Les gens l'ont consulté

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

Non définie

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 {	
	
	}

}
Copier après la connexion

Définir l'utilisation du processeur

func GOMAXPROCS(n int) int
Copier après la connexion

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)
Copier après la connexion

Configurer pour utiliser seulement 2 cœurs

runtime.GOMAXPROCS(2)
Copier après la connexion

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 {	
	
	}
}
Copier après la connexion

Parfois, nous utilisons souvent :

runtime.GOMAXPROCS( runtime.NumCPU())

func NumCPU() int
NumCPU returns the number of logical CPUs usable by the current process.
Copier après la connexion

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.

Mise à jour supplémentaire 2020.1.1

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal