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

Consider whether to default short-ranged fixnums to ShortFixnum

Abierto
#9,422 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
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
12/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
java, ruby

Línea de trabajo

The issue names no files or tests, so start with the benchmark results in the linked jruby/jruby#9379 comment and reproduce the short-range loop timings on your own JVM. Done would mean a maintainer-agreed default for ShortFixnum (keep it or switch it off) with the alternative documented; the choice is a design decision, so discuss it on the issue before writing any code.

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

Descripción

In https://github.com/jruby/jruby/pull/9379#issuecomment-4398960987 I discuss some benchmark findings that show ShortFixnum's constantly widening and narrowing of values impacts the performance of short-ranged loops. This overhead is not enormous on Java 25 (35-40% slower) but on implementations like Java 26 and GraalVM that have better escape analysis the difference can be very large (170% slower on 26, 20x slower on GraalVM).

At the same time, ShortFixnum provides substantial size reductions, so it's a tough call whether to keep the size improvement or prefer the numeric algorithm performance.

We should consider which default is better for users and make sure the alternative is well-documented.

Lenguaje dominante
Ruby
Estrellas
3.9k
Forks
951
Merge medio
1 d 20 h
PR fusionados (30 d)
127

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 jruby/jruby

Todos los issues de jruby/jruby

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.