Increase default running time per process?

オープン
#136 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

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

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python
領域
performance

調査の方向性

issue にはファイルやテストが記載されていません。まず、pyperf がデフォルトの worker 数とデフォルトの実行時間を選択している箇所を特定し、次に結果の集計方法とプロセス間の比較の処理方法を確認してください。JIT 実装と非 JIT 実装の両方に対して、合意されたデフォルト設定が一貫して実装され、関連するベンチマークテストによって検証されれば完了です。

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

説明

Using the default settings, pyperf aims to run 20 worker processes for ~600ms each. Or for implementations that are noted as having jits, 6 processes for 1600ms each.

Is there a strong reason for running so many subprocesses for such a short amount of time? It looks like the results are aggregated and process-to-process comparisons are dropped. 600ms/1600ms is a short amount of time when it comes to jit warmup and in my view doesn't quite reflect the typical experience that users have.

I'd like to propose a new set of numbers, such as 3 worker processes for 4s each. (I'd even be in support of 1 worker process for 12s.) I'd also like to propose using this configuration regardless of whether the implementation has a jit, since I put a higher weight on consistency than using more processes when possible.

What do you all think? I'm also curious what the cinder folks think, I saw @Orvid comment about this in https://github.com/facebookincubator/cinder/issues/74#issuecomment-1128033247

主要言語
Python
スター
967
フォーク
112
平均マージ
5日 8時間
マージ済み PR(30日)
9

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

psf/pyperf のほかの issue

psf/pyperf の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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