Runner.bench_func can't run different module's function?
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- performance
調査の方向性
パッケージレイアウトとコマンド python -m format.run を使って報告された問題を再現し、format/run.py と Runner.bench_func から始めます。次に、perf/_runner.py のワーカー生成パス、特に traceback の _spawn_workers と _spawn_worker のエントリを調査します。別のパッケージモジュールにあるベンチマーク関数が、報告された ModuleNotFoundError と RuntimeError なしで実行されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I'm trying to run Runner.bench_func inside a package like this:
└── format
├── benchmarks
│ ├── bm_format.py
│ ├── bm_fstring.py
│ ├── bm_percentage.py
│ └── __init__.py
├── __init__.py
└── run.py
Inside format/run.py the code will run benchmarks' function like this:
import perf
from .benchmarks import BENCHS
def run():
runner = perf.Runner()
for bm_name, bm_func in BENCHS:
runner.bench_func(bm_name, bm_func)
if __name__ == '__main__':
run()
When running this inside cli, it will raise RuntimeError and ModuleNotFoundError:
➜ python-string-format python -m format.run
Traceback (most recent call last):
File "/tmp/python-string-format/format/run.py", line 2, in <module>
from .benchmarks import BENCHS
ModuleNotFoundError: No module named '__main__.benchmarks'; '__main__' is not a package
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/tmp/python-string-format/format/run.py", line 12, in <module>
run()
File "/tmp/python-string-format/format/run.py", line 8, in run
runner.bench_func(bm_name, bm_func)
File "/usr/lib/python3.6/site-packages/perf/_runner.py", line 594, in bench_func
return self._main(name, sample_func, inner_loops, metadata)
File "/usr/lib/python3.6/site-packages/perf/_runner.py", line 508, in _main
bench = self._master()
File "/usr/lib/python3.6/site-packages/perf/_runner.py", line 768, in _master
bench = self._spawn_workers()
File "/usr/lib/python3.6/site-packages/perf/_runner.py", line 724, in _spawn_workers
suite = self._spawn_worker(calibrate)
File "/usr/lib/python3.6/site-packages/perf/_runner.py", line 665, in _spawn_worker
% (cmd[0], exitcode))
RuntimeError: /usr/bin/python failed with exit code 1
Do I did wrong something, or the Runner.bench_func can only run inside its module?
Thanks.
- 主要言語
- Python
- スター
- 967
- フォーク
- 112
- 平均マージ
- 5日 8時間
- マージ済み PR(30日)
- 9
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
psf/pyperf のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
-
Improve Type System for `pyperf`対応中かも @DebanKsahu が 69 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
メンテナーはふだん 1 日以内に返信
-
Extend hook's teardown metadata with warmup/calibration flags対応中かも @maurycy が 170 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
add entry to blockオープン
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"対応中かも @0z5a が今日担当しました。 オープンneeds-triage
難易度 2/5 半日 初心者へのやさしさ 72/100
メンテナーはふだん 2 日以内に返信
-
plot_graph crashes when a mesh node has no m2m edge対応中かも @tygvi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mllam/neural-lam#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
future-agi/future-agi#4092 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeオープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
WingedGuardian/GENesis-AGI#4641 ·
メンテナーはふだん 1 日以内に返信