The `LOAD_ATTR_INSTANCE_VALUE` instruction can be sped up by storing the offset of the `valid` field in the cache.
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
LOAD_ATTR_INSTANCE_VALUE needs to check the validity of the objects embedded values array.
Currently, it does that by computing the offset of the valid byte.
Instead we could store the offset in the inline cache as LOAD_ATTR_INSTANCE_VALUE has several inline cache entries to spare.
The check is done in the _CHECK_MANAGED_OBJECT_HAS_VALUES uop.
Linked PRs
- gh-153122
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 l’instruction LOAD_ATTR_INSTANCE_VALUE et le uop _CHECK_MANAGED_OBJECT_HAS_VALUES dans l’implémentation de l’interpréteur de CPython. Examinez comment les entrées du cache inline de l’instruction sont définies et comment l’offset de l’octet de validité est actuellement calculé. Le travail est terminé lorsque l’offset est stocké dans une entrée de cache inline disponible et que la vérification de validité l’utilise, tout en laissant passer les tests et benchmarks associés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- performance
- Type d'issue
- Refactorisation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100