-
Notifications
You must be signed in to change notification settings - Fork 48
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
Improve light client time to warp sync finished #864
Comments
With all the changes that have been done since this issue has been opened, I've just measured a 547ms initialization time with Westend. Here are the logs:
Parsing chain spec: 15ms Three things to note:
|
Here's an example break down of how long it takes from smoldot's initialization (when we enter the smoldot Rust code) to warp syncing being completely finished in a best case scenario: (done on top of #863)
Overall that's roughly 415ms of waiting for networking messages, and 410ms of verifying signatures and compiling the runtime (where I rely on third party libraries that I don't really want to dig into).
What we can do is:
Download the runtime and call proofs as soon as we have downloaded the end of the warp sync proof. We can simply assume that the proof is correct, and later discard the download if it turns out that it isn't. The call proofs can be done immediately before downloading the runtime, by assuming that the runtime is using the latest versions of all APIs. That would save 116ms in the example above.
WebRTC should remove one round-trip time I believe, which would save 50 to 60ms.
Look into why parsing the chain spec takes so long.
The text was updated successfully, but these errors were encountered: