gcd benchmarks pass number_rows: 0 for 100k-row inputs
メンテナーはふだん 1 日以内に返信
@med9110 がすでに取り組んでいます。
2026年10月14日 から。
評価
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 初心者へのやさしさ
- 92/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- rust
- 領域
- performance
調査の方向性
datafusion/functions/benches/math_expressions/gcd.rs の56、77、98行目付近にある ScalarFunctionArgs の構築から始めてください。そこでは number_rows: 0 が設定されています。lcm.rs の55行目と比較してください。そこでは n_rows が渡されています。配列ベンチマークが n_rows を渡し、スカラー同士のベンチマークが 1 を渡し、expect のメッセージが "gcd should work on valid values" になり、cargo bench --bench math_expressions(または gcd ベンチのフィルタ)が引き続き実行できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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_rowsfor the benchmarks with array inputs (and1for 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.
- 主要言語
- Rust
- スター
- 9.5k
- フォーク
- 2.5k
- 平均マージ
- 4日 19時間
- マージ済み PR(30日)
- 342
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/datafusion のほかの issue
-
[Bug] atan2 does not normalize -0.0 the way Spark does対応中かも @spicysharkco が 1 日前に担当しました。 オープンbug spark
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/datafusion#26333 ·
メンテナーはふだん 1 日以内に返信
-
bug help wanted unparser
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/datafusion#26316 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Deduplicate bucket computation in width_bucket_interval_mdn_exact対応中かも @nightcityblade が 2 日前に担当しました。 オープンenhancement good first issue help wanted spark tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
apache/datafusion#26307 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Use the shared aggr_test_schema in CSV scan tests instead of a local copy対応中かも @med9110 が 2 日前に担当しました。 オープンcore enhancement good first issue help wanted tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
apache/datafusion#26306 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Struct union type coercion takes field nullability from the wrong field when field order differs対応中かも @med9110 が 2 日前に担当しました。 オープンbug help wanted logical-expr tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/datafusion#26296 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
apache/datafusion の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
needs: triage type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
area:docs documentation P3
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
Raaif-Yousuf/Wingman#837 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
メンテナーはふだん 1 日以内に返信
-
priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
storytold/photocraft#6759 ·
メンテナーはふだん 1 日以内に返信