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

feat(benches): add two new binaries to benchmark scaling #269

Open
wants to merge 28 commits into
base: master
Choose a base branch
from

Conversation

imrn99
Copy link
Collaborator

@imrn99 imrn99 commented Jan 21, 2025

Description

Scope: benches

Type of change: feat

Content description:

  • add the grid-random-split binary. it generates a fixed size unit grid with each square cell having a diagonal split, the direction being random. the map is saved as a legacy VTK binary file
  • add the cut-edges binary. it loads a a map from a VTK file, and divide its cells iteratively until a target edge size is reached. the input mesh is assumed to be a triangle mesh, we guarantee that each intermediate step and final result are as well
  • add is_unused and is_unused_transac to basic map operations

I need to rezrite split_edge_noalloc to be a transactional routine
@codecov-commenter
Copy link

codecov-commenter commented Jan 21, 2025

Codecov Report

Attention: Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.

Project coverage is 84.98%. Comparing base (1a789a9) to head (32113cf).
Report is 11 commits behind head on master.

Files with missing lines Patch % Lines
honeycomb-core/src/cmap/dim2/basic_ops.rs 0.00% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #269      +/-   ##
==========================================
+ Coverage   84.94%   84.98%   +0.03%     
==========================================
  Files          62       63       +1     
  Lines        9407     9302     -105     
==========================================
- Hits         7991     7905      -86     
+ Misses       1416     1397      -19     

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

@imrn99 imrn99 marked this pull request as ready for review February 10, 2025 10:23
Copy link
Member

@cedricchevalier19 cedricchevalier19 left a comment

Choose a reason for hiding this comment

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

Some random thoughts.

@@ -35,6 +35,28 @@ impl<T: CoordsFloat> CMap2<T> {
self.unused_darts.iter().filter(|v| v.read_atomic()).count()
}

/// Return whether a given dart is unused or not.
#[must_use = "unused return value"]
pub fn is_unused(&self, d: DartIdType) -> bool {
Copy link
Member

Choose a reason for hiding this comment

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

Is it necessary to have it in a public-facing interface?

println!("topology checked in {}ms", instant.elapsed().as_millis());
}

let backend = if std::env::var("BACKEND").is_ok_and(|s| &s == "rayon") {
Copy link
Member

Choose a reason for hiding this comment

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

Command line arguments should be a more robust approach.

Think of printing the selected backend to confirm how the results were obtained.

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