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

Use Codspeed for testing

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

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust

Línea de trabajo

Revisa el prototipo de la pull request #1 de bifurcation/KEMs, especialmente el commit 30a1c599b3e8fb114165e475eafbfde8e7922575, y después compara sus mediciones con la pull request #3 y el informe de Codspeed enlazado. Comprueba la configuración de los benchmarks usando criterion.rs y el enfoque más rápido sugerido en la pull request #20 accidental. Se considera terminado cuando el repositorio usa Codspeed con la configuración requerida de RustCrypto y produce mediciones de rendimiento fiables y eficientes.

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

Descripción

Codspeed is a performance testing tool designed to produce highly consistent performance measurements. It also integrates very cleanly with criterion.rs.

I prototyped this out in https://github.com/bifurcation/KEMs/pull/1. (Unfortunately, that also includes a bunch of noise due to main branch divergence. The main commit is https://github.com/bifurcation/KEMs/pull/1/commits/30a1c599b3e8fb114165e475eafbfde8e7922575.) In addition to those code changes, an admin for the RustCrypto org would have to enable Codspeed for the repo and provision the required secret.

I'm having a little trouble having confidence in the measurements, though. Looking at https://github.com/bifurcation/KEMs/pull/3 and its Codspeed report, it is measurably slower on my local machine, but Codspeed reports marginal performance improvements. The execution times are also off by about an order of magnitude.

keygen                  time:   [37.873 µs 37.899 µs 37.935 µs]
                        change: [+1.6945% +2.8309% +3.4566%] (p = 0.00 < 0.05)
                        Performance has regressed.

encapsulate             time:   [36.971 µs 37.129 µs 37.401 µs]
                        change: [+1.4643% +1.7390% +2.1480%] (p = 0.00 < 0.05)
                        Performance has regressed.

decapsulate             time:   [45.140 µs 45.368 µs 45.625 µs]
                        change: [+0.5023% +0.9468% +1.4248%] (p = 0.00 < 0.05)
                        Change within noise threshold.

round_trip              time:   [109.86 µs 110.04 µs 110.27 µs]
                        change: [+1.3724% +1.8421% +2.2354%] (p = 0.00 < 0.05)
                        Performance has regressed.

The version in that prototype is pretty slow, because it builds everything afresh, as @newpavlov noted in the accidental PR #20. If we're going to do this, we should do something like @newpavlov suggests to make it faster.

Lenguaje dominante
Rust
Estrellas
118
Forks
58
Merge medio
29 min
PR fusionados (30 d)
2

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 RustCrypto/KEMs

Todos los issues de RustCrypto/KEMs

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.