2

その出力を正解と比較することによってあなたのプログラムを検証することができる多くのオンライン裁判官サイトがあります。さらに、実行時間をチェックして、プログラムの実行時間が最大制限を超えていないことを確認します。

これが私の質問です。一部のオンライン審査サイトは同時に複数のテストプログラムを実行しているため、パフォーマンスの分離をどのように実現しますか。つまり、高負荷の環境で実行されているユーザープログラムが同じ範囲内で終了することを確認するにはどうすればよいですか。時間、アイドル環境で実行されているときのように?

4

2 に答える 2

3

オペレーティングシステムは、実際の「実時間」時間とは別にCPU時間を追跡します。ベンチマークを行う場合、どちらかの種類の時間のみを調べるのが非常に一般的です。CPUまたはファイルI/Oを集中的に使用するタスクは、CPU時間だけで測定できます。リモートデータベースのクエリなど、外部リソースを必要とするタスクは、リモートリソースのCPU時間にアクセスできないため、実時間で測定するのが最適です。

審査サイトが異なるテストのCPU時間を比較しているだけの場合、サイトは多くのテストを同時に実行できます。一方、壁掛け時計の時間が重要な場合、サイトは独立したハードウェアを使用するか、次のテストが開始する前に1つのテストが終了することを保証するジョブキューを使用する必要があります。

于 2010-01-02T05:32:55.857 に答える
0

Computer Language Benchmarks Gameは、CPU時間と経過時間の両方を測定するため、これらの測定はアイドル環境で順次行われます

于 2010-01-03T16:43:47.293 に答える