Conversation
637ccdd to
fbb664d
Compare
Introduce a second coverage backend based on Python 3.12+'s sys.monitoring API (branch coverage map, no third-party deps), shipped as sys-monitoring/sitecustomize.py (formerly test.py). Restructure the repo so each backend lives in its own directory with a dedicated README: - coveragepy/: coverage.py/LCOV backend (formerly root sitecustomize.py) - sys-monitoring/: new sys.monitoring branch-coverage backend The root README now only gives a general overview and links to both backend READMEs.
fbb664d to
88404fb
Compare
|
Nice work @koltiradw. I am curious about performance differences in terms of throughput. How does your new approach compare to the old approach in terms of req/s? |
|
@ThomasTNO hi! |
|
@ThomasTNO hi! |
|
So, in summary, 15 req/s --> 408 req/s. Awesome! @grebnetiew, willing to take a look as well? |
|
One thing to have a look at is how much code we consider coverable. Can we also configure that for sys-monitoring? Curious how the coverage differs and why (both total and hit blocks) |
|
I guess the total for sys-monitoring is currently not a real total but rather an overly large map of 2^16. |
|
You're right! The difference from coveragepy is that sys-monitoring tracks only branches, not every line. The bitmap size is currently 65536, since I can’t calculate in advance how many events there will be in total, but you can set a custom value via an environment variable. |
Introduce a second coverage backend based on Python 3.12+'s sys.monitoring API (branch coverage map, no third-party deps), shipped as sys-monitoring/sitecustomize.py (formerly test.py).
Restructure the repo so each backend lives in its own directory with a dedicated README:
The root README now only gives a general overview and links to both backend READMEs.