python / python/cpython

`BUILD_INTERPOLATION` and `BUILD_TEMPLATE` perform unnecessary refcount operations

Offen
#145,860 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

interpreter-core performance type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature or enhancement

Proposal:

BUILD_INTERPOLATION and BUILD_TEMPLATE call _PyInterpolation_Build and _PyTemplate_Build respectively, and then decref their arguments. All other BUILD instructions call a "steal" function, to avoid the unnecessary incref then decref. BUILD_INTERPOLATION and BUILD_TEMPLATE should do the same.

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

Linked PRs
  • gh-148201

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie bei den Anweisungshandlern BUILD_INTERPOLATION und BUILD_TEMPLATE sowie den Einstiegspunkten _PyInterpolation_Build und _PyTemplate_Build. Vergleichen Sie sie mit den steal-Funktionen der anderen BUILD-Anweisungen; fertig ist die Änderung, wenn diese Anweisungen die unnötigen incref/decref-Operationen vermeiden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.