mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-03 11:46:09 +00:00
Add README.md for the Dawn perf test harness
Bug: dawn:208 Change-Id: Ic9b4c83ab3c27851d149adb5986f3a5556d0548a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/11283 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
parent
7f3f331ce6
commit
519b16c4b0
@ -41,19 +41,6 @@ class DawnPerfTestEnvironment : public DawnTestEnvironment {
|
||||
unsigned int mOverrideStepsToRun = 0;
|
||||
};
|
||||
|
||||
// Dawn Perf Tests calls Step() of a derived class to measure its execution
|
||||
// time. First, a calibration step is run which determines the number of times
|
||||
// to call Step() to last approximately |kCalibrationRunTimeSeconds|. Then,
|
||||
// Step() is called for the computed number of times, or until
|
||||
// |kMaximumRunTimeSeconds| is exceeded. |kNumTrials| are performed and the
|
||||
// results and averages per iteration** are printed.
|
||||
//
|
||||
// The results are printed according to the format specified at
|
||||
// [chromium]//build/scripts/slave/performance_log_processor.py
|
||||
//
|
||||
// ** The number of iterations a test performs should be passed to the
|
||||
// constructor of DawnPerfTestBase. The reported times are the total time
|
||||
// divided by (numSteps * iterationsPerStep).
|
||||
class DawnPerfTestBase {
|
||||
static constexpr double kCalibrationRunTimeSeconds = 1.0;
|
||||
static constexpr double kMaximumRunTimeSeconds = 10.0;
|
||||
|
24
src/tests/perf_tests/README.md
Normal file
24
src/tests/perf_tests/README.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Dawn Perf Tests
|
||||
|
||||
## Tests
|
||||
|
||||
**BufferUploadPerf**
|
||||
|
||||
Tests repetitively uploading data to the GPU using either `SetSubData` or `CreateBufferMapped`.
|
||||
|
||||
## Test Harness
|
||||
The test harness provides a `DawnPerfTestBase` which Derived tests should inherit from.
|
||||
The harness calls `Step()` of a Derived class to measure its execution
|
||||
time. First, a calibration step is run which determines the number of times
|
||||
to call `Step()` to last approximately `kCalibrationRunTimeSeconds`. Then,
|
||||
`Step()` is called for the computed number of times, or until
|
||||
`kMaximumRunTimeSeconds` is exceeded. `kNumTrials` are performed and the
|
||||
results and averages per iteration\* are printed.
|
||||
(See `DawnPerfTest.h` for the values of the constants).
|
||||
|
||||
The results are printed according to the format specified at
|
||||
[[chromium]//build/scripts/slave/performance_log_processor.py](https://cs.chromium.org/chromium/build/scripts/slave/performance_log_processor.py)
|
||||
|
||||
\*The number of iterations a test performs should be passed to the
|
||||
constructor of `DawnPerfTestBase`. The reported times are the total time
|
||||
divided by `numSteps * iterationsPerStep`.
|
Loading…
x
Reference in New Issue
Block a user