Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Perf - Add buffer pooling where relevant

Abierto
#832 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp
Área
performance

Línea de trabajo

Revisa InflaterInputStream y las clases de compresión relacionadas que asignan buffers en sus constructores; compara las alternativas propuestas caller-supplied-buffer y ArrayPool. Define el alcance, la propiedad de los buffers y el comportamiento de liberación antes de la implementación; después, valida que una compresión intensiva reduzca la presión de asignaciones sin cambiar el comportamiento del stream.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
C#
Estrellas
3.9k
Forks
1k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de icsharpcode/SharpZipLib

Todos los issues de icsharpcode/SharpZipLib

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.