| 
              
e0b4cf6c
               | 
              
2021-11-26T10:23:24
               | 
              
               | 
              
Fix Python3 usage with perf tests/gold tests.
Bug: angleproject:6733
Change-Id: I9d1baf78ed182db77c6a6d8e896737413ca417f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3304012
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
8c634492
               | 
              
2021-11-17T11:06:23
               | 
              
               | 
              
Updates to perf test running script.
- Fixes logging (needed reload)
- Improves logging messages (less spam)
- Reduces time in test calibration & sampling
- Record failures on test errors more robustly
- Redesign the result recording class
Bug: angleproject:6090
Change-Id: I53fd86e9e009bd52ec98507334c69b05e711d83e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288206
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
c3e0eafa
               | 
              
2021-09-22T13:35:04
               | 
              
               | 
              
Revert "Perf Tests: Split samples into sub-tests on desktop."
This reverts commit 90c981dafc06d6bc0696749dface1337e37784d2.
Reason for revert: Causing timeouts on perf bots.
Original change's description:
> Perf Tests: Split samples into sub-tests on desktop.
>
> This adds an option to the perf test runner to split each sample of
> each test into a sub-test. The sub-tests then are split among the
> shards like ordinary tests, and distributed across machines. The
> intent is that running on different machines will reduce inter-build
> variance because of differences between test machines.
>
> This sampling change is only added to desktop (Linux/Win) because
> Android device variance seems to be lower.
>
> Bug: angleproject:6090
> Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:6090
Change-Id: I92bffb98999f35274ec31a3b7567d87453feff94
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174274
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
90c981da
               | 
              
2021-09-10T11:04:19
               | 
              
               | 
              
Perf Tests: Split samples into sub-tests on desktop.
This adds an option to the perf test runner to split each sample of
each test into a sub-test. The sub-tests then are split among the
shards like ordinary tests, and distributed across machines. The
intent is that running on different machines will reduce inter-build
variance because of differences between test machines.
This sampling change is only added to desktop (Linux/Win) because
Android device variance seems to be lower.
Bug: angleproject:6090
Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
1b2febb9
               | 
              
2021-08-23T12:39:16
               | 
              
               | 
              
Trace Tests: Refactor calibration logic.
Instead of calling glFinish every step we now run a few warmup loops
to try and figure out the right step interval. On each run we refine
the step interval until we reach a number that completes in the
specific time after a single glFinish call. This method will use the
specified test time much more consistenty.
Also a couple other improvements. Will use more test time on the bots
because previously they were using a calibration/warmup time of 1
second per run loop, and this bumps it up to 3 per run loop.
Long explanation below.
What we did before:
step()
glFinish()
step()
glFinish()
.. repeat for "gCalibrationTime" seconds
then take the number of steps, the actual time ran, and compute an
estimate for "mStepsToRun".
When we run for real, we go:
step()
step()
step()
.. repeat for "mStepsToRun" steps.
glFinish()
this has an obvious performance difference, because after each step()
(one frame in a trace) you had a complete stall.
The new code first does the above to compute a tentative mStepsToRun,
then uses the results of the second run to compute a much more accurate
mStepsToRun by using the "actual" time it took to run the estimate.
Bug: angleproject:6090
Change-Id: I0ff19873580e13f2af5a145a21f5b1c59fb15795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114606
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
               | 
            
            
              
   
               | 
              
130a8b63
               | 
              
2021-08-16T17:09:10
               | 
              
               | 
              
Perf Runner: Properly merge histograms.
The prior method was emitting 5 histograms per test. The new script
method merges the 5 histogram samples together and recomputes the
running statistics.
Should improve reporting on the dashboard.
Bug: angleproject:6090
Change-Id: I58a5e020f3a3257a8545df2785bc3eaa811ee38e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3096550
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
d25c9d7f
               | 
              
2021-07-07T12:15:12
               | 
              
               | 
              
Add perf tests runner script.
This script will be responsible for running the perf tests
multiple times to try and stabilize measurements. We'll use it on
the bots instead of just running the perf tests directly.
Because the script invokes the binary multiple times, this slows
down execution. Most significantly on Android, where we now need
to use 20 shards, up from 6.
Also marks one test as flaky on OpenGL.
Bug: angleproject:6090
Change-Id: I5280035cb0bdb290a68dc6961a384eaf4b40dd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011422
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
               |