`PrefixSequence` and `DropFirstSequence` should propagate `underestimatedCount`
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
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di swiftlang/swift
-
triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Foundation Windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Tutte le issue di swiftlang/swift
Issue simili
-
type: docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
googleapis/google-cloud-swift#971 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Move wallpaper setting Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mozilla-mobile/firefox-ios#35743 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
manaflow-ai/cmux#13417 ·
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ionic-team/capacitor#8616 ·