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

Add JIT benchmarks

Abierto
#321 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

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

Comienza en el crate benchmarks y sigue cómo REVIVE_USE_COMPILER selecciona el JIT y cómo se definen los parámetros de benchmark existentes de EVM/PVM. Añade la ruta bench-pvm-jit con mediciones separadas del tiempo de pared de compilación y ejecución; después, valida que sus parámetros proporcionen resultados útiles del JIT y sigan siendo ejecutables por el intérprete de EVM.

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

Descripción

enhancement good first issue

Setting the REVIVE_USE_COMPILER env var will enable the JIT in PVM in the pallet. However just setting this variable and running the benchmarks does not tell anything because it measures the whole execution from the get go.

Add to that, because JITed contracts run orders of magnitudes faster, the benchmarking parameters used for benchmark the {EVM,PVM} interpreters are too low to be telling.

What should be done here:

  • Add a bench-pvm-jit feature flag to the benchmarks crate which will lead to benchmark the JIT instead the interpreter.
  • Implement functions wall-time measuring the compilation and execution (execution means the sandbox is already up - zero startup or compilation overhead, just the execution time).
  • Find new parameters suitable for measuring the JIT. They are selected if the bench-pvm-jit feature is set. Ideally they are big enough to be telling but still small enough so the EVM interpreter can execute them too (will be very slow but we need the numbers to compare)
Lenguaje dominante
Rust
Estrellas
103
Forks
28
Merge medio
2 d 6 h
PR fusionados (30 d)
22

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

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 paritytech/revive

Todos los issues de paritytech/revive

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.