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

Aberta Para iniciantes
#90,036 1 comentário 0 reações 0 responsáveis Ver no GitHub

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

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

Linguagem predominante
Swift
Estrelas
70.4k
Forks
10.8k
Merge médio
2d 2h
PRs com merge (30d)
461

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de swiftlang/swift

Todas as issues de swiftlang/swift

Issues semelhantes

Mais issues de Swift

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.