Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Crucible Path Independence: run the two parent-path scans concurrently (6.4 min serial step)

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

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, python

調査の方向性

Start with tests/tools/crucible_path_check.py, especially main() and scan(), and inspect crucible-path-independence.yml to understand the timed step. First measure whether one galaxyscope scan saturates the 4-vCPU runner, then assess the independent scans and required error handling. Done means the full comparison and failure cases still work, with before and after step timings recorded in the PR body.

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

説明

ci-cd github-actions performance scope:infra

Measured (2026-10-16 to 2026-10-18, last 8 successful PR runs): crucible-path-independence.yml takes 7.1 min median, 7.5 max. Of that, 6.4 min is the step "Scan the corpus from two parent paths" (tests/tools/crucible_path_check.py --corpus ../language-crucible/data).

Where the time goes: in main(), scan(neutral_dir, ...) and then scan(special_dir, ...) run one after the other. Each is a full python -m gitgalaxy.galaxyscope subprocess over the staged language-crucible copy. The two scans are independent: different staged directories and different output dirs.

Proposed
  • Run the two scan() calls at the same time, for example with two subprocess.Popens or a 2-worker ThreadPoolExecutor around scan. Keep the error handling: an unreadable output is still a finding, and neutral_error != special_error still counts as a diff.
  • First measure how many cores one galaxyscope scan already uses on the 4-vCPU runner. If it already saturates them, parallel scans gain little. In that case, look at whether the scan can drop work that never depends on the parent path (e.g. snapshot outputs not compared), and record the finding here.
  • Unit test: the check still reports a diff when one side differs, and still fails when one side's output can't be read (fake scan).

Rule: the same corpus is scanned from both parent paths, and the full comparison runs.

Acceptance: the step's time before and after, in the PR body (target ~3.5–4 min).

主要言語
Python
スター
57
フォーク
11
平均マージ
1時間 5分
マージ済み PR(30日)
976

環境構築

はじめの一歩

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

squid-protocol/gitgalaxy のほかの issue

squid-protocol/gitgalaxy の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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