optimize small Getters
- Langage dominant
- Haskell
- Étoiles
- 120
- Forks
- 70
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
After some profiling, i came to the conclusion that current running logic is too complex, in order to support `bytesRead`, we have two `Decoder` type, the overhead of `runGetIncremental` is noticeable when the getter is small(around 100ns compare to cereal on my machine).
This gives binary a disadvantage in various benchmarks, since lots of benchmark just focus on a single combinator, the overhead of running it render this kind of benchmarks meaningless.
There're cases we do need running small getters, but i haven't really need `bytesRead` yet. So let's find a way to improve `bytesRead`, or remove it ?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par examiner les deux types Decoder et le chemin runGetIncremental décrit dans l’issue, puis reproduisez la surcharge signalée pour les petits getters avec les benchmarks existants. Comparez l’exigence bytesRead aux cas qui n’en ont pas besoin et déterminez si elle peut être améliorée ou supprimée. La tâche est terminée lorsque la surcharge des petits getters est réduite sans perdre le comportement requis de bytesRead.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- haskell
- Domaine
- backend
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100