-
Notifications
You must be signed in to change notification settings - Fork 184
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
[WIP] Avoid intermediate values when serializing and deserializing proto3 JSON #670
Draft
osa1
wants to merge
38
commits into
google:master
Choose a base branch
from
osa1:jsontool
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Commits on Jun 2, 2022
-
Avoid intermediate values when serializing proto3 JSON
This uses jsontool library to avoid allocating intermediate values when generating proto3 JSON strings. Note that the code is not tested for correctness yet, and well-known types are not supported. AOT results: Before: ToProto3JsonString(RunTime): 40474.54 us. ToProto3JsonString(RunTime): 40340.84 us. ToProto3JsonString(RunTime): 40403.9 us. After: ToProto3JsonString(RunTime): 26978.906666666666 us. ToProto3JsonString(RunTime): 26891.893333333333 us. ToProto3JsonString(RunTime): 26945.04 us. Diff: -33% JS results: Before: ToProto3JsonString(RunTime): 71551.72413793103 us. ToProto3JsonString(RunTime): 72103.44827586207 us. ToProto3JsonString(RunTime): 72035.71428571429 us. After: ToProto3JsonString(RunTime): 45422.22222222222 us. ToProto3JsonString(RunTime): 45266.666666666664 us. ToProto3JsonString(RunTime): 46813.95348837209 us. Diff: -36%
Configuration menu - View commit details
-
Copy full SHA for 84c6bc8 - Browse repository at this point
Copy the full SHA 84c6bc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 662efa9 - Browse repository at this point
Copy the full SHA 662efa9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 81ddd0c - Browse repository at this point
Copy the full SHA 81ddd0cView commit details
Commits on Jun 3, 2022
-
Avoid intermediate JSON objects when merging proto3 JSON messages
AOT before: FromProto3JsonString(RunTime): 33019.11475409836 us. FromProto3JsonString(RunTime): 32874.45901639344 us. FromProto3JsonString(RunTime): 33174.40983606558 us. AOT after: FromProto3JsonString(RunTime): 22567.494382022473 us. FromProto3JsonString(RunTime): 22654.606741573032 us. FromProto3JsonString(RunTime): 22849.06818181818 us. Diff: -31% JS before: FromProto3JsonString(RunTime): 34568.96551724138 us. FromProto3JsonString(RunTime): 35368.42105263158 us. FromProto3JsonString(RunTime): 35892.857142857145 us. JS after: FromProto3JsonString(RunTime): 85875 us. FromProto3JsonString(RunTime): 83916.66666666667 us. FromProto3JsonString(RunTime): 82880 us. Diff: +130%
Configuration menu - View commit details
-
Copy full SHA for 3594c5d - Browse repository at this point
Copy the full SHA 3594c5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a64b2f3 - Browse repository at this point
Copy the full SHA a64b2f3View commit details
Commits on Jun 7, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a549b57 - Browse repository at this point
Copy the full SHA a549b57View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8ef37d - Browse repository at this point
Copy the full SHA b8ef37dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa4d2ea - Browse repository at this point
Copy the full SHA fa4d2eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f155f11 - Browse repository at this point
Copy the full SHA f155f11View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24bffd5 - Browse repository at this point
Copy the full SHA 24bffd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c92089 - Browse repository at this point
Copy the full SHA 7c92089View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fa98c8 - Browse repository at this point
Copy the full SHA 6fa98c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38079b0 - Browse repository at this point
Copy the full SHA 38079b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for a737185 - Browse repository at this point
Copy the full SHA a737185View commit details
Commits on Jun 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9b62b5d - Browse repository at this point
Copy the full SHA 9b62b5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d44a919 - Browse repository at this point
Copy the full SHA d44a919View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78d495e - Browse repository at this point
Copy the full SHA 78d495eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8895c7 - Browse repository at this point
Copy the full SHA c8895c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6bee93 - Browse repository at this point
Copy the full SHA e6bee93View commit details -
Configuration menu - View commit details
-
Copy full SHA for add7cce - Browse repository at this point
Copy the full SHA add7cceView commit details
Commits on Jun 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 513d01e - Browse repository at this point
Copy the full SHA 513d01eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 951a2c9 - Browse repository at this point
Copy the full SHA 951a2c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00003ce - Browse repository at this point
Copy the full SHA 00003ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 48804f1 - Browse repository at this point
Copy the full SHA 48804f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5a3f98 - Browse repository at this point
Copy the full SHA a5a3f98View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd8cb85 - Browse repository at this point
Copy the full SHA dd8cb85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d43c95 - Browse repository at this point
Copy the full SHA 4d43c95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fe0731 - Browse repository at this point
Copy the full SHA 6fe0731View commit details -
Configuration menu - View commit details
-
Copy full SHA for 333f16c - Browse repository at this point
Copy the full SHA 333f16cView commit details -
Configuration menu - View commit details
-
Copy full SHA for a890105 - Browse repository at this point
Copy the full SHA a890105View commit details -
Configuration menu - View commit details
-
Copy full SHA for eaa0d35 - Browse repository at this point
Copy the full SHA eaa0d35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14bffa2 - Browse repository at this point
Copy the full SHA 14bffa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e28eb3 - Browse repository at this point
Copy the full SHA 0e28eb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 02a9960 - Browse repository at this point
Copy the full SHA 02a9960View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7899d1f - Browse repository at this point
Copy the full SHA 7899d1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee3cf27 - Browse repository at this point
Copy the full SHA ee3cf27View commit details
Commits on Jun 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 617c30c - Browse repository at this point
Copy the full SHA 617c30cView commit details
Commits on Jun 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 712cae7 - Browse repository at this point
Copy the full SHA 712cae7View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.