apple_incremental_game: 8 cases at once on 4 CPUs move deadline solvers by 3-11 points

クローズ
#44 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python
領域
testing

調査の方向性

Read #40 for the pool mechanism and #41 for the control and reproduction commands. Check how the judge sets max_workers and whether it reads SFORGE_CPUS as SCHEMA specifies. Compare results at the official 4 CPU setting; done means limiting the pool prevents the score and timeout effects described here while preserving the reported passing cases.

索引モデルが issue の本文から書いたものです。

説明

Task

apple_incremental_game

Claim

The judge runs 8 cases at once on the official 4 CPUs (max_workers=min(8, len(case_files))), so each case gets about half the CPU that 4 at a time would give it. SCHEMA says a parallel grader "sizes the pool with SFORGE_CPUS, not nproc". The pool mechanism is the one in #40.

Impact

A solution that reads the clock searches less: seven real files gain 3.65-10.86 of 100 at 4 at a time (14 pairs, 4 vCPUs online, one judge), and two with their own cutoffs at 22 s and 25 s don't change. None loses a case on a quiet host, and all 89 grades in our agent runs passed 50 of 50. A solution with a fixed cost above about 15 s of CPU per case times out: our control gets 2 of 50 OK and score 0. We hold no real solver that does this at official settings; the Regression summary's "historical 1 (no time check)" and Known issue 3's submission may.

Evidence and how to reproduce

The control and the commands are in #41. Community at f92857a gives 2 of 50 OK, score 0; 4 at a time gives 50 of 50 OK, score 5.04 (n=2 per judge).

Proposed fix

min(8, SFORGE_CPUS, cases), in #41.

Limits

Part of Known issue 3, which stays: limits are wall clock. Whether this is a scoring defect or a resource-policy change depends on whether the archived submissions above lose cases on your host. We can't test that.

主要言語
Python
スター
474
フォーク
20
平均マージ
3日 6時間
マージ済み PR(30日)
3

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ByteDance-Seed/EdgeBench のほかの issue

ByteDance-Seed/EdgeBench の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。