question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Regression in startup time 0.9 -> 0.10.

See original GitHub issue

Describe the bug

One of our customers has made us aware of a regression in startup time between 0.9 and 0.10. Tested this on my machine and found that this is indeed the case.

I measured the startup time in a blank app by starting a System.Diagnostics.Stopwatch in Program.Main and stopping it in the main window Activated event. The program was compiled in a standard release build and with a ReadyToRun (R2R) deployment:

Version Theme Startup R2R
0.9.12 Default 0.36s
0.10.0 Default 0.71s
0.10.0 Default 0.45s x
0.10.0 Fluent 0.85s
0.10.0 Fluent 0.49s x

Wasn’t able to test 0.9 in R2R mode as the program fails to run.

I will report the results of my investigation below.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:14 (14 by maintainers)

github_iconTop GitHub Comments

2reactions
grokyscommented, Jul 2, 2022

Yes, #8263 and #8422 should help with this when they’re finished, though we don’t have any numbers yet.

2reactions
grokyscommented, Mar 15, 2021

My next port of call was to try to work out just why the Fluent theme is so much slower. It’s a much bigger more complex theme than Default of course so there would be some performance cost to be expected; however I wanted to see if I could improve startup time with this theme as this is what most people would be using.

My initial profiling led me to see that we’re calling StyleInclude.TryGetResource nearly 50,000 times on startup and that we’re doing more than 80,000 resource lookups. When the SystemAccentColor is read for the first time, these are the resulting ~8000 calls to StyleInclude.TryGetResource:

https://gist.github.com/grokys/5d1a3ded2509808807b5e699f5876672

That doesn’t look good. What’s happening is that the first call to get a resource causes the fluent theme to get loaded which triggers all the resources in those styles to be looked up, and for each resource lookup all the XAML files in the fluent theme need to be searched. The process of loading the fluent theme takes around 0.5s in total.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Interpret P-values and Coefficients in Regression ...
Hi Jim,. First time commenting, love your site. Is it good practice/appropriate to adjust your significance level when interpreting p-values in a multiple ......
Read more >
Five Things You Should Know About Quantile Regression
Figure 2 shows fitted linear regression models for the quantile levels 0.10, 0.50, and 0.90, or equivalently, the 10th,. 50th, and 90th percentiles....
Read more >
Beta Regression in R
The class of beta regression models is commonly used by practitioners to model vari- ... 0.10,0.25,0.50,0.75,0.90 and φ = 5 (left) and φ...
Read more >
1 Simple Linear Regression I – Least Squares Estimation
LR3 A psychologist is interested in testing whether the amount of time to become ... First, we run a regression with ELEVATION as...
Read more >
Fixed- and Mixed-Effects Regression Models in R
We will now start to implement the regression model. In a first step, we create two saturated models that contain all possible predictors...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found