Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Perf - Add buffer pooling where relevant

Aperta
#832 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
csharp
Ambito
performance

Direzione di ricerca

Esamina InflaterInputStream e le classi di compressione correlate che allocano buffer nei loro costruttori; confronta le alternative proposte caller-supplied-buffer e ArrayPool. Definisci l’ambito, la proprietà dei buffer e il comportamento di rilascio prima dell’implementazione, quindi verifica che una compressione intensiva riduca la pressione sulle allocazioni senza modificare il comportamento dello stream.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement performance

Current situation

Some pieces of code such as InflaterInputStream, through InflaterInputStream, allocate buffers upfront in their constructors, with no way to control this behavior (e.g : passing the buffer to use).
In code making intensive use of such classes (e.g : app sending huge amounts of compressed data in my case), this can result in this being unsustainable in term of resulting GC load.

Describe the solution you'd like

I would like to suggest some alternatives :

Describe alternatives you've considered

Due to current design of most classes there is sadly no alternative as there is no control over the buffers allocations in constructors.

Tags

Performance

Lingua principale
C#
Stelle
3.9k
Fork
1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di icsharpcode/SharpZipLib

Tutte le issue di icsharpcode/SharpZipLib

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.