Skip to content
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

Look at & measure performance #27

Open
special opened this issue May 27, 2019 · 0 comments
Open

Look at & measure performance #27

special opened this issue May 27, 2019 · 0 comments
Labels
help wanted Extra attention is needed performance

Comments

@special
Copy link
Contributor

special commented May 27, 2019

There are areas where performance is known to be bad, and it would be interesting to have more measurement/understanding of this overall. Specifically, I want to list issues I've wondered about:

  1. JSON, and especially encoding/json. I'd guess that (un)serializing everything is a majority of CPU time in anything with dynamic data.

  2. Update property values individually after changes #15: Property changes update the entire object. This means serializing and sending everything when any property changes without compression. Likewise, on the Qt side change signals are emitted for every property.

  3. Marshaling a QObject requires an extra recursive scan of the object (through reflection) for object initialization. I think this is important, but if the serialization was a bit more customized these could happen at the same time.

  4. Models? Lots may change here. Overall, similar problems with serializing large amounts of data. There are also interesting questions about how to keep data on the client side and what caching might make sense.

  5. On the Qt side, performance with the types and conversions are unknown to me. There is a lot of conversion between QJsonValue and QJSValue, and between those and the raw types needed for metacalls. I'd be surprised if this is all being done optimally.

@special special added help wanted Extra attention is needed performance labels May 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed performance
Projects
None yet
Development

No branches or pull requests

1 participant