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

ci: build Python wheels #176

Merged
merged 1 commit into from
Mar 18, 2023
Merged

ci: build Python wheels #176

merged 1 commit into from
Mar 18, 2023

Conversation

P403n1x87
Copy link
Owner

Description of the Change

This change adds extra steps to the CI workflows to build Python wheels so that the Austin binary can be installed with pip from PyPI.

@codecov
Copy link

codecov bot commented Mar 17, 2023

Codecov Report

Patch coverage has no change and project coverage change: +1.49 🎉

Comparison is base (8ff6d23) 69.72% compared to head (acea3d4) 71.22%.

Additional details and impacted files
@@            Coverage Diff             @@
##            devel     #176      +/-   ##
==========================================
+ Coverage   69.72%   71.22%   +1.49%     
==========================================
  Files          25       25              
  Lines        2474     2474              
  Branches      730      730              
==========================================
+ Hits         1725     1762      +37     
+ Misses        416      387      -29     
+ Partials      333      325       -8     

see 7 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@github-actions
Copy link

github-actions bot commented Mar 17, 2023

Austin Benchmarks

Running Austin benchmarks with Python 3.10.10

Wall time [sampling interval: 1]

Wall time [sampling interval: 1]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 104000 ± 2000 1 ± 0 1.2e-05 ± 5e-06 15.1 ± 0.6
3.5.0 105000 ± 2000 1 ± 0 1.3e-05 ± 6e-06 14.9 ± 0.3
dev 108000 ± 4000 1 ± 0 1.3e-05 ± 5e-06 14.5 ± 0.7
Wall time [sampling interval: 10]

Wall time [sampling interval: 10]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 105000 ± 2000 0.71 ± 0.04 1.5e-05 ± 5e-06 15 ± 0
3.5.0 104000 ± 3000 0.69 ± 0.03 1.4e-05 ± 6e-06 15 ± 0
dev 105000 ± 5000 0.68 ± 0.05 1.4e-05 ± 8e-06 14.9 ± 0.6
Wall time [sampling interval: 100]

Wall time [sampling interval: 100]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 10300 ± 300 0.003 ± 0.001 6e-05 ± 6e-05 19 ± 1
3.5.0 10700 ± 400 0.0021 ± 0.001 6e-05 ± 6e-05 17.2 ± 0.9
dev 10500 ± 200 0.0019 ± 0.0007 7e-05 ± 8e-05 17.1 ± 0.7
Wall time [sampling interval: 1000]

Wall time [sampling interval: 1000]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 1840 ± 20 0.0003 ± 0.0003 3e-05 ± 9e-05 25 ± 2
3.5.0 1840 ± 20 0.0002 ± 0.0003 0.0001 ± 0.0001 24 ± 1
dev 1810 ± 20 0.0003 ± 0.0004 0.0001 ± 0.0001 25 ± 2
CPU time [sampling interval: 1]

CPU time [sampling interval: 1]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 44000 ± 3000 1 ± 0 1.8e-05 ± 7e-06 27 ± 1
3.5.0 45000 ± 1000 1 ± 0 2e-05 ± 2e-05 26.6 ± 0.7
dev 45100 ± 900 1 ± 0 4e-05 ± 2e-05 26.4 ± 0.7
CPU time [sampling interval: 10]

CPU time [sampling interval: 10]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 45000 ± 2000 0.9999 ± 0.0001 2e-05 ± 1e-05 26.7 ± 0.8
3.5.0 45000 ± 1000 0.99999 ± 3e-05 2e-05 ± 2e-05 26.5 ± 0.7
dev 44000 ± 1000 0.99999 ± 3e-05 3e-05 ± 1e-05 26.9 ± 0.6
CPU time [sampling interval: 100]

CPU time [sampling interval: 100]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 5000 ± 100 0.0049 ± 0.001 0.00011 ± 0.0001 31 ± 1
3.5.0 5100 ± 200 0.005 ± 0.002 0.00014 ± 0.0001 30 ± 2
dev 5000 ± 100 0.0042 ± 0.0009 7e-05 ± 5e-05 29.7 ± 0.9
CPU time [sampling interval: 1000]

CPU time [sampling interval: 1000]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 934 ± 4 0.0008 ± 0.0004 0.0002 ± 0.0003 39 ± 2
3.5.0 936 ± 4 0.0003 ± 0.0005 0.0002 ± 0.0004 37 ± 2
dev 937 ± 5 0.0005 ± 0.0006 0.0001 ± 0.0002 38 ± 3
RSA keygen [sampling interval: 1]

RSA keygen [sampling interval: 1]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 34000 ± 2000 1 ± 0 0.0003 ± 0.0003 29 ± 1
3.5.0 33000 ± 1000 1 ± 0 0.0002 ± 0.0002 30 ± 1
dev 34000 ± 2000 1 ± 0 0.0003 ± 0.0003 28 ± 1
RSA keygen [sampling interval: 10]

RSA keygen [sampling interval: 10]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 33000 ± 1000 0.9999 ± 0.0001 0.0003 ± 0.0002 29.1 ± 0.9
3.5.0 33000 ± 2000 0.99996 ± 7e-05 0.0003 ± 0.0002 29 ± 1
dev 35000 ± 1000 0.9997 ± 0.0004 0.0003 ± 0.0002 28.4 ± 1.0
RSA keygen [sampling interval: 100]

RSA keygen [sampling interval: 100]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 6130 ± 50 0.005 ± 0.002 0.0003 ± 0.0003 32 ± 2
3.5.0 6100 ± 90 0.012 ± 0.007 0.0008 ± 0.0007 36 ± 3
dev 6110 ± 60 0.01 ± 0.006 0.0008 ± 0.0009 34 ± 3
RSA keygen [sampling interval: 1000]

RSA keygen [sampling interval: 1000]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 920 ± 10 0.0004 ± 0.0007 0.0006 ± 0.001 49 ± 3
3.5.0 931 ± 5 0.0005 ± 0.0007 0.001 ± 0.002 48 ± 3
dev 929 ± 6 0.0 ± 0.001 0.002 ± 0.005 48 ± 4
Full metrics [sampling interval: 1]

Full metrics [sampling interval: 1]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 43000 ± 1000 1 ± 0 3e-05 ± 2e-05 36 ± 1
3.5.0 44600 ± 700 1 ± 0 4e-05 ± 2e-05 34.5 ± 0.5
dev 45000 ± 1000 1 ± 0 5e-05 ± 3e-05 34.6 ± 1.0
Full metrics [sampling interval: 10]

Full metrics [sampling interval: 10]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 44000 ± 1000 1 ± 0 3.9e-05 ± 1e-05 35.0 ± 0.9
3.5.0 44000 ± 1000 1 ± 0 3e-05 ± 2e-05 35 ± 1
dev 43900 ± 900 1 ± 0 4e-05 ± 2e-05 35.1 ± 0.7
Full metrics [sampling interval: 100]

Full metrics [sampling interval: 100]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 9400 ± 300 0.01 ± 0.003 0.0001 ± 6e-05 43 ± 1
3.5.0 9300 ± 400 0.01 ± 0.002 7e-05 ± 7e-05 43 ± 2
dev 9600 ± 300 0.009 ± 0.002 9e-05 ± 4e-05 42.3 ± 0.9
Full metrics [sampling interval: 1000]

Full metrics [sampling interval: 1000]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 1800 ± 30 0.0006 ± 0.0005 0.0001 ± 0.0001 51 ± 3
3.5.0 1810 ± 30 0.0006 ± 0.0007 0.0001 ± 0.0001 52 ± 3
dev 1800 ± 50 0.0006 ± 0.0005 0.0001 ± 0.0001 50 ± 20
Multiprocess wall time [sampling interval: 1]

Multiprocess wall time [sampling interval: 1]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 1900 ± 100 1 ± 0 0.0003 ± 0.0004 320 ± 20
3.5.0 2500 ± 100 1 ± 0 0.00018 ± 6e-05 380 ± 20
dev 2600 ± 100 1 ± 0 0.00016 ± 3e-05 360 ± 20
Multiprocess wall time [sampling interval: 10]

Multiprocess wall time [sampling interval: 10]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 2000 ± 100 1 ± 0 0.00019 ± 5e-05 320 ± 30
3.5.0 2600 ± 200 1 ± 0 0.00017 ± 4e-05 360 ± 30
dev 2700 ± 100 1 ± 0 0.00016 ± 4e-05 360 ± 20
Multiprocess wall time [sampling interval: 100]

Multiprocess wall time [sampling interval: 100]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 1800 ± 100 0.05 ± 0.02 0.00013 ± 6e-05 330 ± 20
3.5.0 2500 ± 200 0.05 ± 0.02 0.00012 ± 2e-05 380 ± 30
dev 2550 ± 60 0.05 ± 0.02 8e-05 ± 5e-05 370 ± 10
Multiprocess wall time [sampling interval: 1000]

Multiprocess wall time [sampling interval: 1000]

Sample Rate Saturation Error Rate Sampling Speed
3.4.1 1700 ± 100 0.006 ± 0.004 3e-05 ± 3e-05 80 ± 20
3.5.0 2300 ± 100 0.022 ± 0.007 2e-05 ± 3e-05 150 ± 30
dev 2400 ± 100 0.016 ± 0.01 3e-05 ± 2e-05 120 ± 40

Benchmark Summary

Comparison of dev against 3.5.0.

The following scenarios show a statistically significant difference in performance between the two versions.

Sample Rate Saturation Error Rate Sampling Speed
Wall time [sampling interval: 1000] 🔴 🟡 🟡 🟡
RSA keygen [sampling interval: 1] 🟢 🟡 🟡 🟢
RSA keygen [sampling interval: 10] 🟢 🟡 🟡 🟡
Multiprocess wall time [sampling interval: 1] 🟢 🟡 🟡 🟢
Multiprocess wall time [sampling interval: 1000] 🟢 🟡 🟡 🟡

@P403n1x87 P403n1x87 force-pushed the ci/build-wheels branch 11 times, most recently from 246a76d to 8a7b681 Compare March 18, 2023 14:04
@P403n1x87 P403n1x87 marked this pull request as ready for review March 18, 2023 14:04
@P403n1x87 P403n1x87 self-assigned this Mar 18, 2023
This change adds extra steps to the CI workflows to build Python
wheels so that the Austin binary can be installed with pip from
PyPI.
@P403n1x87 P403n1x87 merged commit 0a53589 into devel Mar 18, 2023
@P403n1x87 P403n1x87 deleted the ci/build-wheels branch March 18, 2023 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant