Reduce allocations and copying by decrypting into a buffer

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust
Área
security

Línea de trabajo

Empieza localizando el trait Cryptographer y el backend openssl existente; después, sigue los llamadores de descifrado que actualmente reciben un Vec. Comprueba cómo el backend ya escribe en un búfer e identifica la API y los puntos de llamada que deben cambiar. Se considera terminado cuando el descifrado escribe directamente en el almacenamiento de salida proporcionado por el llamador, sin la asignación temporal ni la copia, y se conserva el comportamiento existente.

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

Descripción

Our current Cryptographer trait decrypts from a &[u8] and returns a Vec<u8>, for simplicity. This means that each decryption operation must allocate a new Vec to hold the result, and then we copy the bytes out of that temporary Vec and into the final output Vec.

We could reduce the amount of allocation and copying going on here if our Cryptographer trait instead accepted an output buffer as argument and decrypted into it. That's actually out the existing openssl backend works under the hood already, we just wrap it in automatic creation of the Vec.

Not urgent, but could be a nice little improvement.

Lenguaje dominante
Rust
Estrellas
29
Forks
14
Merge medio
3 h 15 min
PR fusionados (30 d)
2

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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 mozilla/rust-ece

Todos los issues de mozilla/rust-ece

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.