-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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 regression with indexeddb during normal operation #3252
Comments
I don't believe this is caused by the indexeddb stuff. The code is entirely optimised around making updates to the sync structure fast. There is a known 200-400ms pause when the sync JSON is created and persisted to the database, but that will occur no faster than once every 5 minutes. The sync JSON is done in the callback for /sync though, which may be why you think it's when events are received. |
Conclusions from #riot-dev:
|
I think the delays may be related to doing GCs due to leaking/churning RoomMembers everywhere (110K room members in ~20 minutes on my account), which is in turn #3307 |
The CPU profiles you did a while back refute that though:
|
This could be related to #3517 |
Various possible remaining problems here:
Suggestion is for Dave to look into the webworker thing. |
We're going to keep observing this, leaving it until the end of this milestone. We'll make a decision based on our experience with it up 'til then. |
We're going to keep this in the current milestone and try and resolve before the next release. |
Indexeddb will now run in a web worker: lets see if this makes this better |
We have concluded that this does indeed make this better 😄 |
I'm seeing the UI lock up for 200-400ms every time a new event is received when using the latest /develop with the IndexedDB stuff. This is made particularly obvious if RoomList is expanded a bit, but it's noticeable anyway. Profiling says that onGlobalMessage chews 100% CPU for about 400ms every time new messages are received.
The text was updated successfully, but these errors were encountered: