-
Notifications
You must be signed in to change notification settings - Fork 212
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
Evaluate other storage formats for dependency graph. #41
Comments
msgpack is super easy to drop in to replace JSON. On e2e_example I didn't see a performance difference and file size dropped from 1.5M to 1.1M.
|
Helpful for #41 Centralizes all references to `JSON` within the serialization so that we can update a single place to experiment with other serialization formats.
The JSON file gzips very well - <10% of it's original size. There is maybe a slight regression on serialize/deserialize time though. |
msgpack sounds interesting as an easy alternative |
Helpful for #41 Centralizes all references to `JSON` within the serialization so that we can update a single place to experiment with other serialization formats.
Towards #41 - Avoid nested lists and serializing ints representing indexes (that match the index in the outer list already). - Avoid repeeating package name strings by storing them in a separate list and storing the index into that list. - For Maps where we don't care about index order switch to HashMap - Use `growable: false` where possible - Avoid `.toList()` where possible This reduces filesize for `asset_components_example` by ~4% and write time by ~9% and these optimizations also seem to help if we switch to msgpack.
Towards #41 - Avoid nested lists and serializing ints representing indexes (that match the index in the outer list already). - Avoid repeeating package name strings by storing them in a separate list and storing the index into that list. - For Maps where we don't care about index order switch to HashMap - Use `growable: false` where possible - Avoid `.toList()` where possible This reduces filesize for `asset_components_example` by ~4% and write time by ~9% and these optimizations also seem to help if we switch to msgpack.
Towards #41 See if this makes a meaningful difference for performance.
Will start with JSON just to get things up and running, but proto etc should be evaluated.
The text was updated successfully, but these errors were encountered: