Austin Eng 519b16c4b0 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>
2019-09-17 21:02:38 +00:00
..

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

*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.