microsoft / react-native-windows

A framework for building native Windows apps with React.
https://microsoft.github.io/react-native-windows/
Other
16.26k stars 1.14k forks source link

Performance regression testing #9378

Open chrisglein opened 2 years ago

chrisglein commented 2 years ago

Goals and plan document (internal link)

Scenario \ Platform | RNW | WASDK (WebView2) | XAML | Electron | Flutter -- | -- | -- | -- | -- | -- Baseline | 0 | 1 | 1 | 2 | 3 Real-World Example | 0 | 1 | 1 | 2 | 3 Multiple Instances | 1 | 2 | 2 | 3 | 4 Input | 1 | 2 | 2 | 3 | 4 Collections | 1 | 2 | 2 | 3 | 4 File System | 2 | 3 | 3 | 4 | 5 Media | 2 | 3 | 3 | 4 | 5
chrisglein commented 2 years ago

Notes from planning poker:

1) need to build some number of test apps (growing this should be costed separately). Start with existing apps (hello world, gallery, anything else is bonus). More apps = more comparison, but that should come after we have a pipeline that works with the most basic single app. 2) need to integrate into whatever system the perf team has (there will be some waiting for their output and evaluating whether it meets our needs). Assume what they have is new and not initially broadly tested (growing from a pile 'o scripts to a something more robust) 3) then enable that in our CI 4) how do we store and view long-term results for comparative analysis? (does the perf team have tech/practices here?) Regression testing = the end result. We need to cost the steps along the way. A plan that involves iteration here is what we need. This will expand over time from something very modest.