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

Make bezier point search verbose on failure #611

Merged

Conversation

gassmoeller
Copy link
Contributor

closest_point_on_curve_segment is dramatically slower with the logging done in debug mode (>20 times), this prevents debugging if one searches for one point that is not converging in a large dataset. This change runs the function without logging, and then recursively calls the function with logging if a single point does not converge. This is massively faster, and has the advantage that it also works in release mode, without slowing down release mode much (just a few if statements).

Copy link

codecov bot commented Feb 15, 2024

Codecov Report

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

Comparison is base (6f0e0a4) 93.40% compared to head (bae07e1) 93.11%.
Report is 33 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #611      +/-   ##
==========================================
- Coverage   93.40%   93.11%   -0.29%     
==========================================
  Files          92       92              
  Lines        6349     6273      -76     
==========================================
- Hits         5930     5841      -89     
- Misses        419      432      +13     
Files Coverage Δ
source/world_builder/objects/bezier_curve.cc 92.92% <22.22%> (-7.08%) ⬇️

... and 5 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6f0e0a4...bae07e1. Read the comment docs.

Copy link

Benchmark Main Feature Difference (99.9% CI)
Slab interpolation simple none 0.966 ± 0.005 (s=472) 0.968 ± 0.004 (s=461) +0.1% .. +0.3%
Slab interpolation curved simple none 0.970 ± 0.006 (s=472) 0.972 ± 0.004 (s=458) +0.1% .. +0.3%
Spherical slab interpolation simple none 1.068 ± 0.007 (s=414) 1.126 ± 0.005 (s=409) +5.2% .. +5.5%
Slab interpolation simple curved CMS 1.011 ± 0.004 (s=434) 1.013 ± 0.008 (s=458) +0.0% .. +0.3%
Spherical slab interpolation simple CMS 1.332 ± 0.012 (s=306) 1.507 ± 0.009 (s=329) +12.9% .. +13.4%
Spherical fault interpolation simple none 1.079 ± 0.005 (s=398) 1.137 ± 0.006 (s=416) +5.3% .. +5.6%
Cartesian min max surface 2.165 ± 0.020 (s=206) 2.179 ± 0.017 (s=211) +0.4% .. +0.9%
Spherical min max surface 6.911 ± 0.025 (s=61) 6.926 ± 0.028 (s=72) -0.0% .. +0.4%

@gassmoeller gassmoeller merged commit 6f2dbbe into GeodynamicWorldBuilder:main Feb 15, 2024
30 of 34 checks passed
@gassmoeller gassmoeller deleted the verbose_bezier_iteration branch February 15, 2024 16:37
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.

2 participants