Skip to content
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

Fix bencher false alarms on CI #1158

Merged

Conversation

GitGab19
Copy link
Collaborator

@GitGab19 GitGab19 commented Sep 5, 2024

This PR updates the way branches are managed by bencher, greatly improving the possibility of getting false alarms (about performance regressions) by our CI.
Close #1051

Copy link
Contributor

github-actions bot commented Sep 5, 2024

🐰Bencher

ReportThu, September 5, 2024 at 13:54:38 UTC
ProjectStratum V2 (SRI)
Branch1158/merge
Testbedsv1
Click to view all benchmark results
BenchmarkLatencyLatency Results
nanoseconds (ns) | (Δ%)
Latency Upper Boundary
nanoseconds (ns) | (%)
client-submit-serialize✅ (view plot)6,825.90 (+0.02%)7,571.30 (90.15%)
client-submit-serialize-deserialize✅ (view plot)7,846.90 (+0.13%)8,791.84 (89.25%)
client-submit-serialize-deserialize-handle/client-submit-serialize-deserialize-handle✅ (view plot)8,391.50 (-0.25%)9,246.93 (90.75%)
client-sv1-authorize-serialize-deserialize-handle/client-sv1-authorize-serialize-deserialize-handle✅ (view plot)911.14 (-0.39%)981.57 (92.82%)
client-sv1-authorize-serialize-deserialize/client-sv1-authorize-serialize-deserialize✅ (view plot)708.60 (-0.90%)762.96 (92.88%)
client-sv1-authorize-serialize/client-sv1-authorize-serialize✅ (view plot)247.31 (-0.95%)260.52 (94.93%)
client-sv1-get-authorize/client-sv1-get-authorize✅ (view plot)157.71 (+0.01%)165.96 (95.03%)
client-sv1-get-submit✅ (view plot)6,708.90 (+1.52%)7,305.54 (91.83%)
client-sv1-get-subscribe/client-sv1-get-subscribe✅ (view plot)272.47 (-1.21%)300.64 (90.63%)
client-sv1-subscribe-serialize-deserialize-handle/client-sv1-subscribe-serialize-deserialize-handle✅ (view plot)781.18 (+1.81%)831.92 (93.90%)
client-sv1-subscribe-serialize-deserialize/client-sv1-subscribe-serialize-deserialize✅ (view plot)626.32 (-0.23%)683.63 (91.62%)
client-sv1-subscribe-serialize/client-sv1-subscribe-serialize✅ (view plot)219.30 (+4.99%)227.93 (96.21%)

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

Copy link
Contributor

github-actions bot commented Sep 5, 2024

🐰Bencher

ReportThu, September 5, 2024 at 13:54:38 UTC
ProjectStratum V2 (SRI)
Branchfix-benches-false-alarm-on-ci
Testbedsv2
Click to view all benchmark results
BenchmarkLatencyLatency Results
nanoseconds (ns) | (Δ%)
Latency Upper Boundary
nanoseconds (ns) | (%)
client_sv2_handle_message_common✅ (view plot)44.15 (-1.23%)46.75 (94.44%)
client_sv2_handle_message_mining✅ (view plot)82.16 (+9.33%)92.20 (89.11%)
client_sv2_mining_message_submit_standard✅ (view plot)14.64 (-0.21%)14.81 (98.85%)
client_sv2_mining_message_submit_standard_serialize✅ (view plot)265.12 (-1.13%)291.82 (90.85%)
client_sv2_mining_message_submit_standard_serialize_deserialize✅ (view plot)584.37 (-1.44%)651.41 (89.71%)
client_sv2_open_channel✅ (view plot)163.02 (-1.72%)177.36 (91.92%)
client_sv2_open_channel_serialize✅ (view plot)272.77 (-1.55%)307.50 (88.71%)
client_sv2_open_channel_serialize_deserialize✅ (view plot)370.97 (-1.62%)458.87 (80.84%)
client_sv2_setup_connection✅ (view plot)159.97 (-1.23%)186.04 (85.99%)
client_sv2_setup_connection_serialize✅ (view plot)486.64 (+6.50%)569.69 (85.42%)
client_sv2_setup_connection_serialize_deserialize✅ (view plot)1,024.90 (+2.64%)1,164.47 (88.01%)

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

Copy link
Contributor

github-actions bot commented Sep 5, 2024

🐰Bencher

ReportThu, September 5, 2024 at 13:54:38 UTC
ProjectStratum V2 (SRI)
Branchfix-benches-false-alarm-on-ci
Testbedsv1
Click to view all benchmark results
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles | (Δ%)
Estimated Cycles Upper Boundary
estimated cycles | (%)
InstructionsInstructions Results
instructions | (Δ%)
Instructions Upper Boundary
instructions | (%)
L1 AccessesL1 Accesses Results
accesses | (Δ%)
L1 Accesses Upper Boundary
accesses | (%)
L2 AccessesL2 Accesses Results
accesses | (Δ%)
L2 Accesses Upper Boundary
accesses | (%)
RAM AccessesRAM Accesses Results
accesses | (Δ%)
RAM Accesses Upper Boundary
accesses | (%)
get_authorize✅ (view plot)8,469.00 (+0.28%)8,796.86 (96.27%)✅ (view plot)3,772.00 (+0.64%)3,883.50 (97.13%)✅ (view plot)5,299.00 (+0.80%)5,442.87 (97.36%)✅ (view plot)4.00 (-43.44%)11.51 (34.77%)✅ (view plot)90.00 (-0.10%)95.33 (94.41%)
get_submit✅ (view plot)95,442.00 (-0.04%)96,210.64 (99.20%)✅ (view plot)59,522.00 (+0.09%)59,800.76 (99.53%)✅ (view plot)85,507.00 (+0.11%)85,880.69 (99.56%)✅ (view plot)48.00 (-0.08%)71.92 (66.74%)✅ (view plot)277.00 (-1.34%)290.14 (95.47%)
get_subscribe✅ (view plot)7,996.00 (-0.14%)8,362.56 (95.62%)✅ (view plot)2,848.00 (+0.41%)2,965.77 (96.03%)✅ (view plot)3,986.00 (+0.52%)4,138.37 (96.32%)✅ (view plot)11.00 (-15.28%)23.32 (47.17%)✅ (view plot)113.00 (-0.55%)119.61 (94.47%)
serialize_authorize✅ (view plot)12,248.00 (-0.05%)12,638.11 (96.91%)✅ (view plot)5,343.00 (+0.45%)5,454.50 (97.96%)✅ (view plot)7,463.00 (+0.59%)7,605.23 (98.13%)✅ (view plot)5.00 (-46.23%)14.93 (33.50%)✅ (view plot)136.00 (-0.59%)143.68 (94.66%)
serialize_deserialize_authorize✅ (view plot)24,847.00 (+0.99%)25,133.57 (98.86%)✅ (view plot)9,920.00 (+0.24%)10,055.54 (98.65%)✅ (view plot)14,022.00 (+0.39%)14,201.04 (98.74%)✅ (view plot)30.00 (-14.93%)44.39 (67.58%)✅ (view plot)305.00 (+2.05%)312.83 (97.50%)
serialize_deserialize_handle_authorize✅ (view plot)30,405.00 (+0.49%)30,711.63 (99.00%)✅ (view plot)12,097.00 (+0.06%)12,229.38 (98.92%)✅ (view plot)17,140.00 (+0.13%)17,311.21 (99.01%)✅ (view plot)56.00 (-0.63%)68.55 (81.69%)✅ (view plot)371.00 (+0.99%)380.28 (97.56%)
serialize_deserialize_handle_submit✅ (view plot)126,593.00 (+0.11%)127,176.98 (99.54%)✅ (view plot)73,363.00 (+0.12%)73,677.02 (99.57%)✅ (view plot)105,188.00 (+0.14%)105,623.58 (99.59%)✅ (view plot)116.00 (+4.96%)142.80 (81.23%)✅ (view plot)595.00 (-0.17%)604.54 (98.42%)
serialize_deserialize_handle_subscribe✅ (view plot)27,953.00 (+0.92%)28,561.43 (97.87%)✅ (view plot)9,666.00 (+0.21%)9,780.82 (98.83%)✅ (view plot)13,678.00 (+0.25%)13,831.76 (98.89%)✅ (view plot)62.00 (-2.98%)75.78 (81.81%)✅ (view plot)399.00 (+1.66%)415.36 (96.06%)
serialize_deserialize_submit✅ (view plot)115,475.00 (+0.26%)115,895.11 (99.64%)✅ (view plot)68,223.00 (+0.20%)68,477.16 (99.63%)✅ (view plot)97,935.00 (+0.24%)98,289.72 (99.64%)✅ (view plot)64.00 (-0.19%)82.09 (77.96%)✅ (view plot)492.00 (+0.38%)498.88 (98.62%)
serialize_deserialize_subscribe✅ (view plot)23,385.00 (+1.13%)23,974.49 (97.54%)✅ (view plot)8,225.00 (+0.31%)8,336.43 (98.66%)✅ (view plot)11,595.00 (+0.39%)11,738.70 (98.78%)✅ (view plot)34.00 (-10.34%)45.17 (75.28%)✅ (view plot)332.00 (+2.08%)347.17 (95.63%)
serialize_submit✅ (view plot)99,831.00 (-0.05%)100,552.04 (99.28%)✅ (view plot)61,566.00 (+0.09%)61,849.55 (99.54%)✅ (view plot)88,351.00 (+0.11%)88,732.94 (99.57%)✅ (view plot)49.00 (-0.46%)70.93 (69.08%)✅ (view plot)321.00 (-1.22%)333.45 (96.27%)
serialize_subscribe✅ (view plot)11,329.00 (-0.48%)11,762.64 (96.31%)✅ (view plot)4,195.00 (+0.27%)4,312.77 (97.27%)✅ (view plot)5,844.00 (+0.37%)5,995.36 (97.48%)✅ (view plot)12.00 (-12.62%)22.34 (53.72%)✅ (view plot)155.00 (-1.24%)164.53 (94.20%)

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

Copy link
Contributor

github-actions bot commented Sep 5, 2024

🐰Bencher

ReportThu, September 5, 2024 at 13:54:41 UTC
ProjectStratum V2 (SRI)
Branchfix-benches-false-alarm-on-ci
Testbedsv2
Click to view all benchmark results
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles | (Δ%)
Estimated Cycles Upper Boundary
estimated cycles | (%)
InstructionsInstructions Results
instructions | (Δ%)
Instructions Upper Boundary
instructions | (%)
L1 AccessesL1 Accesses Results
accesses | (Δ%)
L1 Accesses Upper Boundary
accesses | (%)
L2 AccessesL2 Accesses Results
accesses | (Δ%)
L2 Accesses Upper Boundary
accesses | (%)
RAM AccessesRAM Accesses Results
accesses | (Δ%)
RAM Accesses Upper Boundary
accesses | (%)
client_sv2_handle_message_common✅ (view plot)2,175.00 (+4.77%)2,209.36 (98.44%)✅ (view plot)473.00 (+0.23%)491.20 (96.29%)✅ (view plot)730.00 (-0.52%)762.42 (95.75%)✅ (view plot)9.00 (+49.79%)14.55 (61.84%)✅ (view plot)40.00 (+6.70%)41.19 (97.11%)
client_sv2_handle_message_mining✅ (view plot)8,182.00 (-0.23%)8,353.30 (97.95%)✅ (view plot)2,137.00 (+0.18%)2,180.92 (97.99%)✅ (view plot)3,157.00 (+0.10%)3,230.77 (97.72%)✅ (view plot)39.00 (+6.19%)45.54 (85.63%)✅ (view plot)138.00 (-0.68%)142.40 (96.91%)
client_sv2_mining_message_submit_standard✅ (view plot)6,335.00 (+0.89%)6,418.87 (98.69%)✅ (view plot)1,750.00 (-0.02%)1,768.61 (98.95%)✅ (view plot)2,545.00 (-0.33%)2,581.57 (98.58%)✅ (view plot)23.00 (+34.31%)25.13 (91.52%)✅ (view plot)105.00 (+0.95%)107.81 (97.40%)
client_sv2_mining_message_submit_standard_serialize✅ (view plot)14,804.00 (+0.38%)15,062.17 (98.29%)✅ (view plot)4,694.00 (-0.01%)4,712.61 (99.61%)✅ (view plot)6,749.00 (-0.12%)6,784.57 (99.48%)✅ (view plot)50.00 (+12.27%)55.47 (90.13%)✅ (view plot)223.00 (+0.48%)230.67 (96.68%)
client_sv2_mining_message_submit_standard_serialize_deserialize✅ (view plot)27,586.00 (+0.30%)27,901.00 (98.87%)✅ (view plot)10,585.00 (+0.18%)10,638.97 (99.49%)✅ (view plot)15,396.00 (+0.14%)15,481.12 (99.45%)✅ (view plot)86.00 (+5.09%)90.65 (94.87%)✅ (view plot)336.00 (+0.35%)346.11 (97.08%)
client_sv2_open_channel✅ (view plot)4,409.00 (-0.33%)4,674.12 (94.33%)✅ (view plot)1,461.00 (+0.03%)1,478.43 (98.82%)✅ (view plot)2,159.00 (+0.09%)2,186.34 (98.75%)✅ (view plot)9.00 (-8.79%)18.56 (48.49%)✅ (view plot)63.00 (-0.56%)70.00 (90.00%)
client_sv2_open_channel_serialize✅ (view plot)14,058.00 (-0.38%)14,534.84 (96.72%)✅ (view plot)5,064.00 (+0.01%)5,081.43 (99.66%)✅ (view plot)7,323.00 (+0.00%)7,354.09 (99.58%)✅ (view plot)38.00 (+7.53%)43.86 (86.63%)✅ (view plot)187.00 (-1.01%)200.93 (93.07%)
client_sv2_open_channel_serialize_deserialize✅ (view plot)22,689.00 (+0.23%)23,039.49 (98.48%)✅ (view plot)8,027.00 (+0.25%)8,079.10 (99.36%)✅ (view plot)11,669.00 (+0.17%)11,755.39 (99.27%)✅ (view plot)83.00 (+12.63%)85.61 (96.95%)✅ (view plot)303.00 (-0.13%)315.05 (96.18%)
client_sv2_setup_connection✅ (view plot)4,745.00 (+1.22%)4,786.68 (99.13%)✅ (view plot)1,502.00 (+0.03%)1,519.43 (98.85%)✅ (view plot)2,275.00 (-0.11%)2,305.50 (98.68%)✅ (view plot)11.00 (+19.27%)15.87 (69.33%)✅ (view plot)69.00 (+2.14%)70.34 (98.10%)
client_sv2_setup_connection_serialize✅ (view plot)16,228.00 (+0.17%)16,519.36 (98.24%)✅ (view plot)5,963.00 (+0.01%)5,980.43 (99.71%)✅ (view plot)8,658.00 (-0.03%)8,692.98 (99.60%)✅ (view plot)44.00 (+5.99%)55.13 (79.81%)✅ (view plot)210.00 (+0.24%)217.99 (96.33%)
client_sv2_setup_connection_serialize_deserialize✅ (view plot)35,682.00 (+0.38%)35,789.14 (99.70%)✅ (view plot)14,855.00 (+0.14%)14,908.15 (99.64%)✅ (view plot)21,812.00 (+0.10%)21,910.61 (99.55%)✅ (view plot)100.00 (+5.79%)116.46 (85.87%)✅ (view plot)382.00 (+0.63%)385.23 (99.16%)

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

Copy link
Contributor

@jbesraa jbesraa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Did you get the chance to inspect how the 50/100 sample sizes make difference? should the time also be increased in the measurement_time ?

We might also in the future want to move the the env's initiated in the script section to an env section and that could probably allow us to use the envs like process.env.PR_BASE across the different run's

@GitGab19
Copy link
Collaborator Author

GitGab19 commented Sep 6, 2024

Moving from 50 to 100 was the suggestion I got from the bencher maintainer, and I saw some improvements when I switched to 100, during my tests. Regarding the env section I agree, but that was not the scope of this PR, and I also prefer to have these workflows as they are now, since they reflect perfectly the actual bencher docs

@plebhash plebhash merged commit 8da5e5f into stratum-mining:main Sep 9, 2024
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dig github CI benches execution and fix false alarms
3 participants