-
Notifications
You must be signed in to change notification settings - Fork 180
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
port - [Exec] Use CCF in self-describing mode to encode events (replaces JSON-CDC) #4437
Conversation
This uses CCF in fully self-describing mode, so events will encode to about 1/2 the size of JSON-CDC encoding. Using CCF in partially self-describing mode can encode events to 1/14 the size of JSON-CDC but that requires other changes outside of CCF codec.
Since JSON-CDC encodes less type information than CCF, decoding JSON-CDC and then encoding it in CCF breaks because required type information is missing. Fix this by creating Cadence events and then encoding it in CCF, without involving JSON-CDC.
Currently, JSON-CDC decoded event fields are not explicitly sorted and field values are obtained by index in some tests. This isn't compatible with CCF which explicitly sorts fields for determinism. Fix fvm tests by obtaining field values by field identifier to avoid dependency on field order.
Currently, JSON-CDC decoded event fields are not explicitly sorted and field values are obtained by index in some tests. This isn't compatible with CCF which explicitly sorts fields for determinism. Fix fvm tests by obtaining field values by field identifier to avoid dependency on field order.
Currently, JSON-CDC decoded event fields are not explicitly sorted and field values are obtained by index in some tests. This isn't compatible with CCF which explicitly sorts fields for determinism. Fix service events by obtaining field values by field identifier to avoid dependency on field order.
This update gets Cadence PRs 2528 and 2529 to unblock tests.
4841f4e
to
53d75c1
Compare
FVM Benchstat comparisonThis branch with compared with the base branch onflow:v0.31 commit d988ba2 The command Collapsed results for better readability
|
53d75c1
to
1b552de
Compare
…w-go into janez/port-4417
8b2cf6e
to
788dcb0
Compare
Codecov Report
@@ Coverage Diff @@
## v0.31 #4437 +/- ##
==========================================
+ Coverage 53.67% 54.15% +0.47%
==========================================
Files 887 887
Lines 82528 83653 +1125
==========================================
+ Hits 44296 45301 +1005
- Misses 34748 34834 +86
- Partials 3484 3518 +34
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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.
Thanks for porting this! LGTM!
this contains #4439 that should be merged first
this is a port of #4417.
I checked everything file by file and they are all identical besides go.mod-s and go.sum-s