Skip to content

Isosphere bench - #21

Merged
nhz2 merged 2 commits into
mainfrom
isosphere-bench
Oct 26, 2026
Merged

nhz2 merged 2 commits into
mainfrom
isosphere-bench

Conversation

@nhz2

@nhz2 nhz2 commented Oct 26, 2026

Copy link
Copy Markdown
Member

Minor performance improvements and a benchmark for triangle meshes.

nhz2 and others added 2 commits October 25, 2026 21:19
Benchmarks setup_neighbors_grid! and setup_neighbors_sort_sweep! on a
geodesic icosphere membrane (32000 triangles, 48000 edges, 16002 vertices),
added like MEDYAN.jl adds membranes: triangles, edges as triangle lines,
and vertices as triangle points, with vertex-own-triangle and
shared-vertex edge exclusions. Unlike the ring benchmark, this covers the
triangle pair types and a dense, high hit rate system.

icosphere_mesh and sphere_slerp are copied from MEDYAN.jl.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HL9ZT4qzp6YYMPdUbM6qoD
- Same-level pass: check the `a` range is empty before loading the `b`
  range, with `@inbounds` on `_grid_type_range`.
- Finer-level pass: inline `_grid_check_finer!` and skip empty cells
  before the per-cell setup, since most finer cells are empty.
- `_filtered_min_radius`: branchless `min_fast` with a separate NaN flag.

Ring benchmark 0.793 -> 0.787 ms, isosphere benchmark 34.2 -> 33.4 ms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HL9ZT4qzp6YYMPdUbM6qoD
@nhz2
nhz2 merged commit dee09be into main Oct 26, 2026
2 checks passed
@nhz2
nhz2 deleted the isosphere-bench branch October 26, 2026 01:45
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.

1 participant