libgit2 / libgit2/libgit2sharp

ObjectId are materialized too early in git_odb_foreach

Offen
#1,676 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
3.5k
Forks
925
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When enumerating objects in an ObjectDatabase, all ObjectId_s are materialized before enumeration. In a reasonable active repostory this results in a large working set and delay of processing.

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

Lies LibGit2Sharp/Core/Proxy.cs ungefähr bei Zeile 1557 und ObjectDatabase.cs ungefähr bei Zeile 44. Verfolge, wie ObjectId_s derzeit offengelegt werden, und ermittle, wie die Proxy-Aufzählung lazy bleiben kann; erledigt ist die Aufgabe, wenn ObjectDatabase aufzählt, ohne zuvor alle ObjectId_s zu materialisieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, git
Bereich
devtools, performance
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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