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

gcd benchmarks pass number_rows: 0 for 100k-row inputs

Abierto Apto para principiantes
#26,297 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@med9110 ya está trabajando en esto.

Desde el 14/10/2026.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
92/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
rust
Área
performance

Línea de trabajo

Empieza en datafusion/functions/benches/math_expressions/gcd.rs, en la construcción de ScalarFunctionArgs alrededor de las líneas 56, 77 y 98, donde se establece number_rows: 0. Compara con la línea 55 de lcm.rs, que pasa n_rows. Está terminado cuando los benchmarks de arrays pasan n_rows, el de escalar-escalar pasa 1, los mensajes de expect dicen "gcd should work on valid values" y cargo bench --bench math_expressions (o el filtro del bench de gcd) sigue ejecutándose.

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

Descripción

bug functions good first issue help wanted tech debt
Describe the bug

All three benchmarks in functions/benches/math_expressions/gcd.rs pass number_rows: 0 in ScalarFunctionArgs, including "gcd both array" and "gcd array and scalar", whose array inputs have 100,000 rows. The sibling lcm.rs benchmark passes number_rows: n_rows. A UDF that sizes its output or expands scalars from number_rows will not do the work the benchmark claims to measure.

Every gcd benchmark also uses the copy-pasted message .expect("date_bin should work on valid values").

To Reproduce

Read gcd.rs lines 56, 77 and 98 (number_rows: 0) and compare with lcm.rs line 55 (number_rows: n_rows).

Expected behavior
  • Pass number_rows: n_rows for the benchmarks with array inputs (and 1 for scalar-scalar).
  • Change the expect messages to "gcd should work on valid values".
Additional context

to_char.rs (L144-L341), gcd.rs and lcm.rs repeat the same bench_function + ScalarFunctionArgs boilerplate seven times, which is how this drift happened. A small shared helper that takes the UDF, args, number_rows and return type would prevent it. That part is optional.

This is a small, self-contained change and a good first issue. Line references are pinned to commit 0d79252f61bd.

Lenguaje dominante
Rust
Estrellas
9.5k
Forks
2.5k
Merge medio
4 d 16 h
PR fusionados (30 d)
330

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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 apache/datafusion

Todos los issues de apache/datafusion

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.