Add an API to allow getting the number of "performance" cores-only
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
Proposal:
Currently Python provides os.cpu_count() which returns the total number of physical CPU cores.
On macOS M-class machines (and probably other ARM hardware), there are actually two types of CPU cores: performance cores, and efficiency cores.
For many tasks where a user wants to do "1 task per core", it really only makes sense to do 1 task per performance core.
Therefore it'd be sensible to expose this number. On macOS it can be found with the hw.perflevel0.logicalcpu sysctl.
This could be done in one of two ways, a new function, e.g. os.performance_cpu_count(), or as a keyword-argument to os.cpu_count(performance_cores_only=True).
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire l’API os.cpu_count() existante et ses implémentations spécifiques aux plateformes, puis étudiez le sysctl macOS hw.perflevel0.logicalcpu décrit dans la proposition. Comparez les options d’une nouvelle fonction et d’un argument nommé sur les plateformes prises en charge, et identifiez les tests pertinents. Le travail est terminé lorsque l’API choisie expose de manière fiable le nombre de cœurs de performance, avec un comportement documenté et une couverture pour les systèmes pris en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- operating-systems
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100