python / python/cpython

The `LOAD_ATTR_INSTANCE_VALUE` instruction can be sped up by storing the offset of the `valid` field in the cache.

Ouverte
#152,063 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

3.16 interpreter-core performance
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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.