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

Aperta Adatta ai principianti
#90,036 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
swift
Ambito
performance

Direzione di ricerca

Inizia individuando PrefixSequence e la sua estensione conforme a Sequence, quindi esamina come viene fornito underestimatedCount per la sequenza di base e gli altri wrapper di sequenze. Verifica che le sequenze prefisso riportino il conteggio rilevante più piccolo ed esegui i test Sequence esistenti oppure aggiungi una copertura per il comportamento di propagazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Swift
Stelle
70.4k
Fork
10.8k
Merge medio
2g 2h
PR unite (30g)
461

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di swiftlang/swift

Tutte le issue di swiftlang/swift

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.