-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance: [GlobalStep] Android – Opening the Block Editor takes an unexpected long time #1888
Comments
I noticed the same issue although even slower performance, with a spinner appearing for 15+ seconds every time I open the editor. Screencast: https://cloudup.com/csHAHn6aYyW I noticed a huge section in the app logs when Gutenberg loads, which seems to output every translation for the locale (many lines omitted below, including just the first few and very last lines):
(Tested on moto e5 play, Android 8.1.0, WPAndroid 14.2-rc-1, device locale set to en-GB.) cc @hypest This seems like an excessive amount of time to load the editor when it's a new post / no content. |
This is a known situation and might get better when #1660 gets fully implemented. There are no "clean" solutions to this one yet and that's why we are "accepting" the delay so far. It takes considerable time for the ReactNative runtime to load and boot the editor itself. |
Which percentage of our user base is this affecting? |
I don't know if there any trick to make this faster. I wonder if there is a way to strip the bundle or do some other optimization. We can also think about pre-loading it after app start or keep it in memory if the loading time was too slow. First steps:
|
These numbers aren't super reliable, but until we have better metrics from #1988, they might be a good starting point. I took a sample of android editor sessions in the last 7 days, and measured the lag between When I look at the percentile numbers for those launch times, the data is a bit worrying:
With these numbers, I'm surprised we don't hear more about this from support, so I don't know what to think about them. In any case, it seems worth prioritizing, as we have experienced first hand how it performs in lower end devices, so there might be at least some truth to the data. |
As a reminder, we haven't yet enabled one of Herme's performance features (bytecode support, #1660 (comment)). That is, the JS bundle is still text and parsed on load by the JS runtime (Hermes). |
Yes, I'm surprised as well. @koke Can you plot the same data but group by app version (and also make sure the property |
The data above is from the past week only, so it would be mostly for the latest version and most users would have gutenberg enabled. I'd love to see the evolution over time, but since we don't have the right data, and the launch time has to be calculated from looking at the editor event stream for each user, this could take a long time to generate if we wanted to see the evolution over the past year. I took another approach and re-run the analysis with 1 day of data for a number of weeks before, kind of like a git bisect. It looks like between July and September things started to go bad. That green line for August 15 seems to be when 20% of users were on 13.0. From the release notes:
It looks like as soon as users started using Gutenberg, the numbers started to go bad. So I'd say it has more to do with more people using Gutenberg than Gutenberg getting worse. |
More info after a follow-up:
(internal reference: play-store-feedbackid=gp:AOqpTOHmgh49hDw5j4PMQM-0Sf2mZ7yRdMLoDKMBi7UKbjmKo8y3voROqD1Qe4amIIOD6UQLkBOAFx1NLIogz7Ht) |
(Also see internal reference: p9ugOq-1gR-p2#comment-2565.) |
I did a quick check recently on our
On iOS, 83% of loading times are faster than 2 seconds. Comparatively, on Android, the numbers are quite bad as ~37% of loading times are slower than 10 seconds. |
That looks pretty bad 😬 I got curious about that distribution and I was wondering if maybe it was better in some phones than others. I looked at September 1-14, removed some outliers, and plotted the 30 most common models: There were over 5K different models, so I'm not sure how useful it is as a grouping, but here's also the worst offenders (with at least 100 sessions): |
In 3608700-zen a user reported:
The app logs show something similar to what Rachel mentioned in #1888 (comment) starting with:
Followed by approximately 2,010 mentions of "TOO BIG formatValueCalls ### exceeded limit"—here are a few lines to illustrate:
Here some additional details about the post from the error in the logs that I reviewed:
I also noticed the following oddities in the logs:
(internal references: see notes in 3608700-zen for a link to open the logs, see paaHJt-1ms-p2 to learn how to look up unencrypted logs) @hypest do you think this can be look looked into again now that #1660 has been closed? Why are there thousands of mentions similar to "TOO BIG formatValueCalls 201 exceeded limit of 200" for one post in the app logs and why do the "translations" for that post contain what appears to be sample content even though the post content is totally different? Could these things be the cause of the app opening extremely slowly or even returning ANRs in some cases? |
Hey @designsimply! The This looks like a different kind of performance-impacting issue so, may I suggest putting it in its own ticket? Thanks! |
Description
While loading the Classic Post Editor is nearly instant, loading the Block Editor takes an unexpected long time.
Reproduction Rate
4/4 100%
Expected behavior
The Block Editor should load in a timely manner.
Actual behavior
Loading the Block Editor takes a long time.
Steps to reproduce the behavior
Tested on the following
Samsung Galaxy Note 8 (7.1.1)
Huawei P10 (7.0)
Please see the attached video and log for more information
AndroidBlockEditorPerformance.zip
BlockEditorPerformance.txt
Submitted by:
Luis Pimenta
The text was updated successfully, but these errors were encountered: