-
Notifications
You must be signed in to change notification settings - Fork 177
draw a handy dependancy graph #1233
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1233 +/- ##
=======================================
Coverage 19.36% 19.36%
=======================================
Files 164 164
Lines 10811 10811
=======================================
Hits 2094 2094
Misses 8717 8717
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
| Branch | 1233/merge |
| Testbed | sv1 |
⚠️ WARNING: The following Measures do not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Estimated Cycles | estimated cycles | Instructions | instructions | L1 Accesses | accesses | L2 Accesses | accesses | RAM Accesses | accesses |
|---|---|---|---|---|---|---|---|---|---|---|
| get_authorize | 📈 view plot | 8,421.00 | 📈 view plot | 3,689.00 | 📈 view plot | 5,156.00 | 📈 view plot | 9.00 | 📈 view plot | 92.00 |
| get_submit | 📈 view plot | 95,491.00 | 📈 view plot | 59,346.00 | 📈 view plot | 85,216.00 | 📈 view plot | 46.00 | 📈 view plot | 287.00 |
| get_subscribe | 📈 view plot | 7,914.00 | 📈 view plot | 2,765.00 | 📈 view plot | 3,844.00 | 📈 view plot | 16.00 | 📈 view plot | 114.00 |
| serialize_authorize | 📈 view plot | 12,256.00 | 📈 view plot | 5,266.00 | 📈 view plot | 7,321.00 | 📈 view plot | 14.00 | 📈 view plot | 139.00 |
| serialize_deserialize_authorize | 📈 view plot | 24,436.00 | 📈 view plot | 9,838.00 | 📈 view plot | 13,881.00 | 📈 view plot | 39.00 | 📈 view plot | 296.00 |
| serialize_deserialize_handle_authorize | 📈 view plot | 30,118.00 | 📈 view plot | 12,015.00 | 📈 view plot | 16,998.00 | 📈 view plot | 62.00 | 📈 view plot | 366.00 |
| serialize_deserialize_handle_submit | 📈 view plot | 126,419.00 | 📈 view plot | 73,200.00 | 📈 view plot | 104,909.00 | 📈 view plot | 109.00 | 📈 view plot | 599.00 |
| serialize_deserialize_handle_subscribe | 📈 view plot | 27,494.00 | 📈 view plot | 9,584.00 | 📈 view plot | 13,544.00 | 📈 view plot | 67.00 | 📈 view plot | 389.00 |
| serialize_deserialize_submit | 📈 view plot | 115,167.00 | 📈 view plot | 68,060.00 | 📈 view plot | 97,652.00 | 📈 view plot | 66.00 | 📈 view plot | 491.00 |
| serialize_deserialize_subscribe | 📈 view plot | 22,934.00 | 📈 view plot | 8,143.00 | 📈 view plot | 11,459.00 | 📈 view plot | 41.00 | 📈 view plot | 322.00 |
| serialize_submit | 📈 view plot | 99,880.00 | 📈 view plot | 61,408.00 | 📈 view plot | 88,075.00 | 📈 view plot | 51.00 | 📈 view plot | 330.00 |
| serialize_subscribe | 📈 view plot | 11,363.00 | 📈 view plot | 4,118.00 | 📈 view plot | 5,703.00 | 📈 view plot | 19.00 | 📈 view plot | 159.00 |
|
| Branch | 1233/merge |
| Testbed | sv2 |
⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Latency | nanoseconds (ns) |
|---|---|---|
| client_sv2_handle_message_common | 📈 view plot | 45.20 |
| client_sv2_handle_message_mining | 📈 view plot | 72.70 |
| client_sv2_mining_message_submit_standard | 📈 view plot | 14.66 |
| client_sv2_mining_message_submit_standard_serialize | 📈 view plot | 260.78 |
| client_sv2_mining_message_submit_standard_serialize_deserialize | 📈 view plot | 586.47 |
| client_sv2_open_channel | 📈 view plot | 146.53 |
| client_sv2_open_channel_serialize | 📈 view plot | 283.50 |
| client_sv2_open_channel_serialize_deserialize | 📈 view plot | 370.05 |
| client_sv2_setup_connection | 📈 view plot | 162.80 |
| client_sv2_setup_connection_serialize | 📈 view plot | 496.39 |
| client_sv2_setup_connection_serialize_deserialize | 📈 view plot | 953.20 |
|
| Branch | 1233/merge |
| Testbed | sv2 |
⚠️ WARNING: The following Measures do not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Estimated Cycles | estimated cycles | Instructions | instructions | L1 Accesses | accesses | L2 Accesses | accesses | RAM Accesses | accesses |
|---|---|---|---|---|---|---|---|---|---|---|
| client_sv2_handle_message_common | 📈 view plot | 2,095.00 | 📈 view plot | 473.00 | 📈 view plot | 735.00 | 📈 view plot | 6.00 | 📈 view plot | 38.00 |
| client_sv2_handle_message_mining | 📈 view plot | 8,208.00 | 📈 view plot | 2,137.00 | 📈 view plot | 3,158.00 | 📈 view plot | 37.00 | 📈 view plot | 139.00 |
| client_sv2_mining_message_submit_standard | 📈 view plot | 6,297.00 | 📈 view plot | 1,750.00 | 📈 view plot | 2,547.00 | 📈 view plot | 22.00 | 📈 view plot | 104.00 |
| client_sv2_mining_message_submit_standard_serialize | 📈 view plot | 14,648.00 | 📈 view plot | 4,694.00 | 📈 view plot | 6,758.00 | 📈 view plot | 45.00 | 📈 view plot | 219.00 |
| client_sv2_mining_message_submit_standard_serialize_deserialize | 📈 view plot | 27,472.00 | 📈 view plot | 10,585.00 | 📈 view plot | 15,402.00 | 📈 view plot | 83.00 | 📈 view plot | 333.00 |
| client_sv2_open_channel | 📈 view plot | 4,333.00 | 📈 view plot | 1,461.00 | 📈 view plot | 2,163.00 | 📈 view plot | 7.00 | 📈 view plot | 61.00 |
| client_sv2_open_channel_serialize | 📈 view plot | 13,940.00 | 📈 view plot | 5,064.00 | 📈 view plot | 7,330.00 | 📈 view plot | 34.00 | 📈 view plot | 184.00 |
| client_sv2_open_channel_serialize_deserialize | 📈 view plot | 22,575.00 | 📈 view plot | 8,027.00 | 📈 view plot | 11,675.00 | 📈 view plot | 80.00 | 📈 view plot | 300.00 |
| client_sv2_setup_connection | 📈 view plot | 4,669.00 | 📈 view plot | 1,502.00 | 📈 view plot | 2,279.00 | 📈 view plot | 9.00 | 📈 view plot | 67.00 |
| client_sv2_setup_connection_serialize | 📈 view plot | 16,098.00 | 📈 view plot | 5,963.00 | 📈 view plot | 8,668.00 | 📈 view plot | 37.00 | 📈 view plot | 207.00 |
| client_sv2_setup_connection_serialize_deserialize | 📈 view plot | 35,454.00 | 📈 view plot | 14,855.00 | 📈 view plot | 21,824.00 | 📈 view plot | 94.00 | 📈 view plot | 376.00 |
|
Thanks for working on this. |
It draws a dependencies graph with features propagation, for better understanding of the relations between crates : https://github.com/GPTechinno/stratum/blob/dep-graph/protocols/DEPENDENCIES.md |
|
@rrybarczyk, in this context, the dependency curve considers the individual flavors of our crates. For someone new to our protocol crates, they might appear as separate entities. For example, the |
nack since we are going to drop the one with serde eventually |
Does it make sense to have this dependency graph after we complete the refactor? |
|
Moving this PR to draft status, as it makes sense to have a final graph after protocols crates refactoring. |
|
@Georges760 Any plans to update this PR with new repo structure? |
I would have to study the changes since my first shot. But why not ! Is the architecture stabilized now ? |
No drastic changes in future comes to my mind, atleast regarding the dependencies. |
|
I splitted it into 3 levels for clarity. Wonder if removing the external crates wil make it even cleaner without removing usefull info... |
Levels make sense. Regarding the external crates, that’s fine, since people might be interested in understanding how our protocol crates depend on external ones. One suggestion: maybe we could represent dev dependencies using a different edge type. Everything else looks great! |
currently dev-deps are not represented at all, i fear it will bloat the graphs without real value added. |
to better undersatnding of the current protocol/v2/dependancies