Investigate performance issues
See original GitHub issueAndroid is slow when debugging (several seconds before displaying another screen), especially with Program.withConsoleTrace
.
We should find a way to speed things up a little.
Also in Release mode, Android (and maybe iOS) still feels a little slow.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:30 (8 by maintainers)
Top Results From Across the Web
Monitoring 101: Investigating Performance Issues
Monitoring 101: Investigating performance issues · 1. Start at the top with work metrics · 2. Dig into resources · 3. Did something...
Read more >8.12 Investigation of Performance Issues
When an employee is having a performance issue, it is often the responsibility of the HR professional to investigate the situation. Training managers...
Read more >Tips For Investigating Performance Issues - mohit.io
Reproduce The Performance Issue · Find A Build Or Change That Introduced The Issue · Use Release Builds Only · Use The Same...
Read more >The Importance of Thoroughly Investigating Performance ...
Many organizations use progressive discipline for performance and attendance issues even with “employment at-will” language in their handbooks but will.
Read more >Investigate performance issues with DPA
Investigate performance issues with DPA. DPA uses an approach called wait-based analysis to help you focus on issues that provide the greatest performance ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I’ve started to run some perf measurements to find bottlenecks in Fabulous.
If you’re interested, you can run your own tests with this branch : https://github.com/TimLariviere/Fabulous/tree/performance (ElmishContacts.Android won’t work for the moment – missing dependencies)
I use ElmishContacts as a reference, because that’s where I noticed some big slowdowns when navigating from page to page. This test has been run on an iPhone 5s simulator on a Mac Book Pro, so it’s supposed to be very good compared to an actual device.
For now, I’ve only tested navigation from the empty home page to the contact creation page.
Fabulous determines this is a new page and almost no control can be reused (except maybe the NavigationPage root) https://github.com/TimLariviere/ElmishContacts/blob/686d9598bc8a07dc52facb69dd1cfd4b111e7cb6/ElmishContacts/EditPage.fs#L206-L277
What I can see from the full log is that Fabulous is doing great almost everywhere, except on some controls.
let update msg model
is done in approximately 8 milliseconds (I found also 1ms on another test)let view model dispatch
is done in 162 milliseconds (some improvements can be made here)canReuseChild
is instantaneous (the whole page changed so it was expected)newPageElement.UpdateIncremental
is done in 354msThat last one is quite slow I think, given it ran on a powerful iOS simulator. It can easily take seconds on an actual low-end Android device.
Most of the controls are almost instantaneous. Only StackLayout starts to take a significant time (129ms), only to be top by NavigationPage (with 353ms, of which 129 is from StackLayout)
I will try to check what’s going on with the layout controls
Full log:
Performance has been drastically improved in v2 😃