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

Ouverte Adaptée aux débutants
#90,036 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
76/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
swift
Domaine
performance

Piste de recherche

Commencez par localiser PrefixSequence et son extension conforme à Sequence, puis examinez comment underestimatedCount est fourni pour la séquence de base et les autres wrappers de séquence. Vérifiez que les séquences préfixes renvoient le plus petit nombre pertinent et exécutez les tests Sequence existants ou ajoutez une couverture pour le comportement de propagation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Swift
Étoiles
70.4k
Forks
10.8k
Merge moyen
2 j 2 h
PR mergées (30 j)
461

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de swiftlang/swift

Toutes les issues de swiftlang/swift

Issues similaires

Plus d'issues Swift

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.