`PrefixSequence` and `DropFirstSequence` should propagate `underestimatedCount`

Offen Anfängerfreundlich
#90,036 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
76/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
swift
Bereich
performance

Rechercherichtung

Beginne damit, PrefixSequence und seine Sequence-konforme Erweiterung zu lokalisieren, und untersuche dann, wie underestimatedCount für die Basissequenz und andere Sequenz-Wrapper bereitgestellt wird. Verifiziere, dass Präfixsequenzen die kleinere relevante Anzahl melden, und führe die vorhandenen Sequence-Tests aus oder ergänze eine Abdeckung für das Weitergabeverhalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

triage needed
Motivation

underestimatedCount is important for allocating memory efficiently, particularly when eagerly evaluating a chain of lazy operations. However, calling Sequence.prefix(_:) will currently result in underestimatedCount defaulting to 0, which eliminates the potential for optimization.

Proposed solution

Rather than leaving the default implementation, PrefixSequence should have the following added to its Sequence-conforming extension:

@inlinable
public var underestimatedCount { Swift.min(_maxLength, _base.underestimatedCount) }
Alternatives considered

No response

Additional information

No response

Vorherrschende Sprache
Swift
Sterne
70.4k
Forks
10.8k
Ø Merge
2 T. 2 Std.
Gemergte PRs (30 T.)
461

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus swiftlang/swift

Alle Issues in swiftlang/swift

Ähnliche Issues

Weitere Issues zu Swift

Neue Issues direkt in Ihr Postfach

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