-
Notifications
You must be signed in to change notification settings - Fork 523
performance: Agreement state serialization using msgp #4644
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
Merged
Merged
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
371b8af
WIP: Compiling but failing tests for just player
iansuvak 83b7e80
WIP: barebones player serializes
iansuvak e2fa904
WIP: Player and router are encoded with some missing fields
iansuvak 9d2c61e
Changed names back to fix reflectdecoding
iansuvak dc89b11
Add sort interfaces for everything except for proposalValues
iansuvak 71464cb
add sorts for proposalvalue
iansuvak 5d72a3d
Actually add the agreement/sort.go file
iansuvak ea28f9c
WIP: still wrestling with it
iansuvak c035014
remove serializableerrorunderlying
iansuvak bd34159
Fix tests failing on diffs in nil object serde
iansuvak 869d1f4
Merge remote-tracking branch 'upstream/master' into msgp-agreement
iansuvak 82ef464
Merge remote-tracking branch 'upstream/master' into msgp-agreement
iansuvak b7fe033
explicitly unexport embedded MessageHandle interface from agreement.m…
iansuvak e7cfbec
Add reflect flag to encode/decode and benchmarks
iansuvak 61345ff
remove currently unused types from msgp generation
iansuvak f9ca8eb
add proposalmanager and voteaggregator back
iansuvak 1fb3c04
Fix for mismatch on rootRouter object
iansuvak d6cac67
clean up
iansuvak 75a8d79
Add test for full diskstate
iansuvak ed36eb2
Fix codegen CI msgp version
iansuvak 02ea522
Merge remote-tracking branch 'origin/master' into msgp-agreement
iansuvak 00b4f82
Add test for SortProposalValue.Less()
iansuvak e5becf8
Apply suggestions from code review
iansuvak 4d624ab
fix reviewdog issue
iansuvak 7ee6dc7
Backward compatibility test
algorandskiy 732999c
Add serializableError test
algorandskiy abae63e
Apply suggestions from code review
iansuvak dc28cdd
Apply review suggestions
iansuvak 708e6d5
Merge pull request #1 from algorandskiy/msgp-agreement
iansuvak a09a711
Ignore unnecessary events that got caught in making message serializable
iansuvak 6c1f56c
manual implementation for message
iansuvak 6651ace
Fix for randomizedEncoding running into interface
iansuvak 5a766ef
small expansion to the test to demonstrate consistency
iansuvak c603420
change comment to indicate that the file is mostly autogenned
iansuvak bfb41e1
apply comparison optimization to all checks in SortProposalValue
iansuvak d30f1b9
Use msgp.Raw for backwards compatibility when changing the interface
iansuvak d72f50e
remove omitemptys and interface case from codec_tester
iansuvak 65b94bb
Add test to ensure that empty maps serialize correctly
iansuvak d9ff09f
add more tests and cleanup
iansuvak fc6f835
Move SortUint64 import to sort file
iansuvak e88a05d
Add explicit test for proposalTable message encoding
iansuvak c31c713
Add a sanity check on TaskIndex on the proposalTable serialization test
iansuvak 565833f
remove misplaced comment
iansuvak 609bdf8
address review comments
iansuvak 6fad072
preallocate s.Actions and s.ActionTypes
iansuvak aa5ad07
loop over randomized testing and properly assign into pre-allocated s…
iansuvak e798292
Add test to cover action serde
iansuvak fa48132
re-run "go generate" inside agreement
cce File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
out of curiosity, how did you figure out which types to ignore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anything that embeds
messagereally and is notmessageEvent. The process of adding the fields was adding the_structfield to the top levels embedded things and then seeing which structs didn't get their interfaces implemented after runningmake msgp. anything that embedsmessagegot accidentally added and ignoring them didn't introduce any unimplemented method errors.