Closed zolstein closed 7 months ago
Attention: Patch coverage is 92.50000%
with 3 lines
in your changes are missing coverage. Please review.
Project coverage is 80.72%. Comparing base (
981a63a
) to head (9e763fa
).
Files | Patch % | Lines |
---|---|---|
dbscan/dbscan.go | 87.50% | 3 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Thank you for this PR. It looks very good!
@zolstein here is the new release with the change: https://github.com/georgysavva/scany/releases/tag/v2.1.1
Modify several internal functions to avoid allocating unnecessary memory. This commit employs three strategies:
I used a simple but (hopefully) vaguely representative benchmarking program to measure the impact.
Hyperfine shows an end-to-end runtime reduction of 40%.
This also reduced allocated objects (when making 1000 queries returning 1000 rows each) by roughly 3 million and allocated space by ~150MB. (I can share the pprof SVGs if you want.)
Here's the (condensed) text: of the benchmark, if you want to replicate.