Skip to content

Conversation

@mikeingold
Copy link
Collaborator

@mikeingold mikeingold commented Aug 17, 2025

Changes

  • Implement usage of Meshes predicates iscurve, issurface, and issolid (Add iscurve, issurface, issolid predicates Meshes.jl#1172)
  • Update Project.toml versions for consistency throughout package.
  • Tweak benchmark and testing scripts to use an allocation-free integrand function so that benchmarks more precisely reflect the performance of MeshIntegrals itself.
    • Achieves a mild reduction in CI times for benchmarks and testing.

@codecov
Copy link

codecov bot commented Aug 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8f8f8fa) to head (dea6e24).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #199   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           19        19           
  Lines          192       191    -1     
=========================================
- Hits           192       191    -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 18, 2025

Benchmark Results (Julia v1.10)

Time benchmarks
main dea6e24... main / dea6e24...
Differentials/Differential 0.206 ± 0.0011 μs 0.204 ± 0.0019 μs 1.01 ± 0.011
Differentials/Jacobian 0.169 ± 0.001 μs 0.17 ± 0.001 μs 0.995 ± 0.0083
Integrals/Segment/Scalar GaussKronrod 0.621 ± 0.011 μs 0.63 ± 0.01 μs 0.986 ± 0.023
Integrals/Segment/Scalar GaussLegendre 1.67 ± 0.011 μs 1.72 ± 0.019 μs 0.971 ± 0.012
Integrals/Segment/Scalar HAdaptiveCubature 0.832 ± 0.03 μs 0.831 ± 0.079 μs 1 ± 0.1
Integrals/Segment/Vector GaussKronrod 0.671 ± 0.03 μs 0.652 ± 0.01 μs 1.03 ± 0.049
Integrals/Segment/Vector GaussLegendre 4.67 ± 0.25 μs 4.65 ± 0.24 μs 1 ± 0.075
Integrals/Segment/Vector HAdaptiveCubature 0.852 ± 0.029 μs 0.861 ± 0.03 μs 0.99 ± 0.048
Integrals/Sphere/Scalar GaussKronrod 1.14 ± 0.01 μs 1.13 ± 0.01 μs 1.01 ± 0.013
Integrals/Sphere/Scalar GaussLegendre 1.87 ± 0.0083 ms 1.87 ± 0.003 ms 1 ± 0.0047
Integrals/Sphere/Scalar HAdaptiveCubature 0.0479 ± 0.00015 ms 0.0478 ± 9e-05 ms 1 ± 0.0037
Integrals/Sphere/Vector GaussKronrod 1.16 ± 0.01 μs 1.15 ± 0.01 μs 1.01 ± 0.012
Integrals/Sphere/Vector GaussLegendre 2.06 ± 0.018 ms 2.05 ± 0.019 ms 1 ± 0.013
Integrals/Sphere/Vector HAdaptiveCubature 0.0493 ± 0.00011 ms 0.0492 ± 9e-05 ms 1 ± 0.0029
Rules/GaussLegendre 22.1 ± 0.49 μs 22.2 ± 0.48 μs 0.999 ± 0.031
Specializations/Scalar GaussLegendre/BezierCurve 0.251 ± 0.0072 ms 0.251 ± 0.0069 ms 1 ± 0.04
Specializations/Scalar GaussLegendre/Line 6.92 ± 0.061 μs 7.09 ± 0.1 μs 0.976 ± 0.016
Specializations/Scalar GaussLegendre/Plane 0.744 ± 0.0019 ms 0.745 ± 0.0017 ms 0.999 ± 0.0034
Specializations/Scalar GaussLegendre/Ray 5.89 ± 0.06 μs 5.86 ± 0.05 μs 1.01 ± 0.013
Specializations/Scalar GaussLegendre/Rope 0.051 ± 0.0002 ms 0.0515 ± 0.00022 ms 0.989 ± 0.0057
Specializations/Scalar GaussLegendre/Tetrahedron 0.156 ± 0.00048 s 0.155 ± 0.0011 s 1.01 ± 0.0076
Specializations/Scalar GaussLegendre/Triangle 0.628 ± 0.0074 ms 0.603 ± 0.0075 ms 1.04 ± 0.018
time_to_load 1.49 ± 0.0087 s 1.49 ± 0.0081 s 1 ± 0.008
Memory benchmarks
main dea6e24... main / dea6e24...
Differentials/Differential 3 allocs: 0.0938 kB 3 allocs: 0.0938 kB 1
Differentials/Jacobian 0 allocs: 0 B 0 allocs: 0 B
Integrals/Segment/Scalar GaussKronrod 2 allocs: 0.0469 kB 2 allocs: 0.0469 kB 1
Integrals/Segment/Scalar GaussLegendre 0 allocs: 0 B 0 allocs: 0 B
Integrals/Segment/Scalar HAdaptiveCubature 7 allocs: 0.492 kB 7 allocs: 0.492 kB 1
Integrals/Segment/Vector GaussKronrod 2 allocs: 0.0781 kB 2 allocs: 0.0781 kB 1
Integrals/Segment/Vector GaussLegendre 0.307 k allocs: 12.8 kB 0.307 k allocs: 12.8 kB 1
Integrals/Segment/Vector HAdaptiveCubature 6 allocs: 0.688 kB 6 allocs: 0.688 kB 1
Integrals/Sphere/Scalar GaussKronrod 2 allocs: 0.0469 kB 2 allocs: 0.0469 kB 1
Integrals/Sphere/Scalar GaussLegendre 0 allocs: 0 B 0 allocs: 0 B
Integrals/Sphere/Scalar HAdaptiveCubature 7 allocs: 0.648 kB 7 allocs: 0.648 kB 1
Integrals/Sphere/Vector GaussKronrod 2 allocs: 0.0781 kB 2 allocs: 0.0781 kB 1
Integrals/Sphere/Vector GaussLegendre 30 k allocs: 1.22 MB 30 k allocs: 1.22 MB 1
Integrals/Sphere/Vector HAdaptiveCubature 6 allocs: 0.812 kB 6 allocs: 0.812 kB 1
Rules/GaussLegendre 7 allocs: 0.0325 MB 7 allocs: 0.0325 MB 1
Specializations/Scalar GaussLegendre/BezierCurve 23 allocs: 0.75 kB 23 allocs: 0.75 kB 1
Specializations/Scalar GaussLegendre/Line 21 allocs: 0.938 kB 21 allocs: 0.938 kB 1
Specializations/Scalar GaussLegendre/Plane 22 allocs: 1.03 kB 22 allocs: 1.03 kB 1
Specializations/Scalar GaussLegendre/Ray 21 allocs: 0.938 kB 21 allocs: 0.938 kB 1
Specializations/Scalar GaussLegendre/Rope 0.068 k allocs: 1.62 kB 0.068 k allocs: 1.62 kB 1
Specializations/Scalar GaussLegendre/Tetrahedron 3 M allocs: 0.179 GB 3 M allocs: 0.179 GB 1
Specializations/Scalar GaussLegendre/Triangle 22 allocs: 1.03 kB 22 allocs: 1.03 kB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

Copy link
Member

@JoshuaLampert JoshuaLampert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@mikeingold mikeingold marked this pull request as ready for review August 18, 2025 10:42
@mikeingold mikeingold merged commit 23d7d25 into main Aug 21, 2025
12 checks passed
@mikeingold mikeingold deleted the predicates branch August 21, 2025 01:08
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.

3 participants