`PrefixSequence` and `DropFirstSequence` should propagate `underestimatedCount`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- swift
- Domínio
- performance
Direção de pesquisa
Comece localizando PrefixSequence e sua extensão em conformidade com Sequence e, em seguida, examine como underestimatedCount é fornecido para a sequência base e outros wrappers de sequência. Verifique se as sequências de prefixo relatam a menor contagem relevante e execute os testes existentes de Sequence ou adicione cobertura para o comportamento de propagação.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Swift
- Estrelas
- 70.4k
- Forks
- 10.8k
- Merge médio
- 2d 2h
- PRs com merge (30d)
- 461
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de swiftlang/swift
-
triage needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
triage needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Foundation Windows
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
triage needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Todas as issues de swiftlang/swift
Issues semelhantes
-
type: docs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
googleapis/google-cloud-swift#971 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Move wallpaper setting Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
mozilla-mobile/firefox-ios#35743 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
manaflow-ai/cmux#13417 ·
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
ionic-team/capacitor#8616 ·