P403n1x87 / austin

Python frame stack sampler for CPython
https://pypi.org/project/austin-dist/
GNU General Public License v3.0
1.71k stars 51 forks source link

Release v3.6.0 #205

Closed P403n1x87 closed 11 months ago

P403n1x87 commented 11 months ago

This is the v3.6.0 release PR.

codecov[bot] commented 11 months ago

Codecov Report

Attention: 165 lines in your changes are missing coverage. Please review.

Comparison is base (b7eb5e2) 69.75% compared to head (90005bf) 68.63%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #205 +/- ## ========================================== - Coverage 69.75% 68.63% -1.12% ========================================== Files 25 27 +2 Lines 2473 2519 +46 Branches 730 774 +44 ========================================== + Hits 1725 1729 +4 - Misses 416 458 +42 Partials 332 332 ``` | [Files](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta) | Coverage Δ | | |---|---|---| | [src/argparse.c](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL2FyZ3BhcnNlLmM=) | `60.27% <ø> (-4.80%)` | :arrow_down: | | [src/error.c](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL2Vycm9yLmM=) | `100.00% <ø> (ø)` | | | [src/logging.c](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL2xvZ2dpbmcuYw==) | `73.46% <100.00%> (-8.54%)` | :arrow_down: | | [src/mem.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL21lbS5o) | `85.71% <ø> (ø)` | | | [src/mojo.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL21vam8uaA==) | `100.00% <ø> (ø)` | | | [src/msg.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL21zZy5o) | `100.00% <ø> (ø)` | | | [src/python/symbols.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL3B5dGhvbi9zeW1ib2xzLmg=) | `100.00% <ø> (ø)` | | | [src/timer.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL3RpbWVyLmg=) | `100.00% <100.00%> (ø)` | | | [src/timing.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL3RpbWluZy5o) | `100.00% <ø> (ø)` | | | [src/version.h](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta#diff-c3JjL3ZlcnNpb24uaA==) | `60.00% <50.00%> (+2.42%)` | :arrow_up: | | ... and [6 more](https://app.codecov.io/gh/P403n1x87/austin/pull/205?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta) | | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/P403n1x87/austin/pull/205/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Gabriele+N.+Tornetta)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 11 months ago

Austin Benchmarks

Running Austin benchmarks with Python 3.10.13

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: 1] :green_circle: :yellow_circle: :yellow_circle: :yellow_circle:
Wall time [sampling interval: 1000] :yellow_circle: :yellow_circle: :yellow_circle: :green_circle:
CPU time [sampling interval: 1000] :red_circle: :yellow_circle: :yellow_circle: :red_circle:
RSA keygen [sampling interval: 10] :green_circle: :yellow_circle: :yellow_circle: :yellow_circle:
Multiprocess wall time [sampling interval: 10] :yellow_circle: :yellow_circle: :yellow_circle: :green_circle:
Multiprocess wall time [sampling interval: 1000] :yellow_circle: :yellow_circle: :yellow_circle: :green_circle:

Benchmark Results

Wall time [sampling interval: 1] ## Wall time [sampling interval: 1] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 116000 ± 3000 | 1 ± 0 | 8e-06 ± 4e-06 | 13.4 ± 0.5 | | dev | 119000 ± 3000 | 1 ± 0 | 8e-06 ± 5e-06 | 13.1 ± 0.6 |
Wall time [sampling interval: 10] ## Wall time [sampling interval: 10] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 115000 ± 3000 | 0.545 ± 0.002 | 1e-05 ± 4e-06 | 13.4 ± 0.5 | | dev | 116000 ± 4000 | 0.545 ± 0.003 | 8e-06 ± 4e-06 | 13.4 ± 0.5 |
Wall time [sampling interval: 100] ## Wall time [sampling interval: 100] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 10600 ± 300 | 0.00081 ± 0.0001 | 4e-05 ± 3e-05 | 15.1 ± 0.6 | | dev | 10400 ± 200 | 0.001 ± 0.0004 | 3e-05 ± 3e-05 | 14.5 ± 0.7 |
Wall time [sampling interval: 1000] ## Wall time [sampling interval: 1000] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 1840 ± 30 | 0.0001 ± 0.0002 | 4e-05 ± 9e-05 | 22 ± 3 | | dev | 1860 ± 20 | 0.0002 ± 0.0003 | 4e-05 ± 9e-05 | 19 ± 1 |
CPU time [sampling interval: 1] ## CPU time [sampling interval: 1] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 51000 ± 5000 | 1 ± 0 | 1.8e-05 ± 9e-06 | 23.2 ± 0.9 | | dev | 51000 ± 5000 | 1 ± 0 | 2e-05 ± 1e-05 | 23 ± 1 |
CPU time [sampling interval: 10] ## CPU time [sampling interval: 10] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 51000 ± 4000 | 0.9979 ± 0.0002 | 2e-05 ± 1e-05 | 22.8 ± 0.9 | | dev | 53000 ± 1000 | 0.9977 ± 0.0007 | 1.3e-05 ± 7e-06 | 22.5 ± 0.7 |
CPU time [sampling interval: 100] ## CPU time [sampling interval: 100] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 5200 ± 100 | 0.0014 ± 0.0006 | 8e-05 ± 7e-05 | 24 ± 1 | | dev | 5300 ± 100 | 0.0016 ± 0.0005 | 7e-05 ± 7e-05 | 24 ± 1 |
CPU time [sampling interval: 1000] ## CPU time [sampling interval: 1000] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 945 ± 4 | 0.0003 ± 0.0006 | 0.0001 ± 0.0002 | 33 ± 6 | | dev | 941 ± 2 | 0.0004 ± 0.0006 | 0.0002 ± 0.0004 | 40 ± 2 |
RSA keygen [sampling interval: 1] ## RSA keygen [sampling interval: 1] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 38800 ± 500 | 1 ± 0 | 0.0002 ± 0.0001 | 25.0 ± 0.5 | | dev | 39000 ± 1000 | 1 ± 0 | 0.0002 ± 0.0002 | 24.9 ± 0.7 |
RSA keygen [sampling interval: 10] ## RSA keygen [sampling interval: 10] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 38600 ± 400 | 0.985 ± 0.009 | 0.0003 ± 0.0002 | 25 ± 0 | | dev | 39200 ± 400 | 0.986 ± 0.006 | 0.00014 ± 9e-05 | 24.9 ± 0.3 |
RSA keygen [sampling interval: 100] ## RSA keygen [sampling interval: 100] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 6232 ± 9 | 0.003 ± 0.002 | 0.0008 ± 0.0009 | 31.0 ± 0.9 | | dev | 6200 ± 80 | 0.003 ± 0.003 | 0.0008 ± 0.0009 | 30 ± 2 |
RSA keygen [sampling interval: 1000] ## RSA keygen [sampling interval: 1000] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 941 ± 1 | 0.0002 ± 0.0005 | 0.0004 ± 0.0007 | 35 ± 2 | | dev | 940 ± 2 | 0 ± 0 | 0.0002 ± 0.0005 | 34 ± 4 |
Full metrics [sampling interval: 1] ## Full metrics [sampling interval: 1] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 50000 ± 3000 | 1 ± 0 | 2.3e-05 ± 8e-06 | 31 ± 2 | | dev | 50000 ± 3000 | 1 ± 0 | 2e-05 ± 9e-06 | 31 ± 2 |
Full metrics [sampling interval: 10] ## Full metrics [sampling interval: 10] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 50000 ± 3000 | 1 ± 0 | 2e-05 ± 1e-05 | 31 ± 2 | | dev | 50000 ± 3000 | 1 ± 0 | 2e-05 ± 1e-05 | 31 ± 2 |
Full metrics [sampling interval: 100] ## Full metrics [sampling interval: 100] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 9700 ± 400 | 0.0028 ± 0.0009 | 5e-05 ± 2e-05 | 34.7 ± 0.9 | | dev | 9800 ± 300 | 0.0027 ± 0.001 | 2e-05 ± 4e-05 | 34 ± 1 |
Full metrics [sampling interval: 1000] ## Full metrics [sampling interval: 1000] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 1850 ± 20 | 0.0003 ± 0.0003 | 0.0001 ± 0.0001 | 41 ± 2 | | dev | 1850 ± 20 | 0.0002 ± 0.0002 | 0 ± 0 | 40 ± 3 |
Multiprocess wall time [sampling interval: 1] ## Multiprocess wall time [sampling interval: 1] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 3300 ± 200 | 1 ± 0 | 0.00014 ± 6e-05 | 290 ± 20 | | dev | 3300 ± 100 | 1 ± 0 | 0.00015 ± 4e-05 | 290 ± 10 |
Multiprocess wall time [sampling interval: 10] ## Multiprocess wall time [sampling interval: 10] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 3100 ± 100 | 1 ± 0 | 0.00015 ± 3e-05 | 310 ± 10 | | dev | 3300 ± 200 | 1 ± 0 | 0.00012 ± 5e-05 | 290 ± 20 |
Multiprocess wall time [sampling interval: 100] ## Multiprocess wall time [sampling interval: 100] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 3100 ± 100 | 0.05 ± 0.01 | 9e-05 ± 3e-05 | 300 ± 10 | | dev | 3300 ± 100 | 0.05 ± 0.01 | 6e-05 ± 4e-05 | 290 ± 10 |
Multiprocess wall time [sampling interval: 1000] ## Multiprocess wall time [sampling interval: 1000] | | Sample Rate | Saturation | Error Rate | Sampling Speed | | --- |:-----------:|:----------:|:----------:|:--------------:| | 3.5.0 | 2900 ± 100 | 0.009 ± 0.001 | 2e-05 ± 2e-05 | 77 ± 5 | | dev | 3100 ± 200 | 0.007 ± 0.003 | 2e-05 ± 2e-05 | 60 ± 10 |