memilio icon indicating copy to clipboard operation
memilio copied to clipboard

1410 Accelerate add_edge for large graphs

Open kilianvolmer opened this issue 4 weeks ago • 1 comments

Changes and Information

Please briefly list the changes (main added features, changed items, or corrected bugs) made:

  • Added a lazy_add_edge function that does neither check for uniqueness nor sort the added edges.
  • Added a sort_edges and a make_edges_unique function
  • Added a reserve_edges function to reserve space for edges

If need be, add additional information and what the reviewer should look out for in particular:

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Checks by code author

  • [x] Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • [x] New code adheres to coding guidelines
  • [x] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • [x] Tests are added for new functionality and a local test run was successful (with and without OpenMP)
  • [x] Appropriate documentation within the code (Doxygen) for new functionality has been added in the code
  • [x] Appropriate external documentation (ReadTheDocs) for new functionality has been added to the online documentation
  • [x] Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • [ ] (For ABM development) Checked benchmark results and ran and posted a local test above from before and after development to ensure performance is monitored.

Checks by code reviewer(s)

  • [ ] Corresponding issue(s) is/are linked and addressed
  • [ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • [ ] Appropriate unit tests have been added, CI passes, code coverage and performance is acceptable (did not decrease)
  • [ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • [ ] On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the briefly-list-the-changes above (best case) or the separate commit messages (worst case).

Closes #1410

kilianvolmer avatar Nov 06 '25 14:11 kilianvolmer

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 97.31%. Comparing base (47f4820) to head (3cb8456). :warning: Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1411      +/-   ##
==========================================
+ Coverage   97.29%   97.31%   +0.01%     
==========================================
  Files         180      187       +7     
  Lines       15646    16007     +361     
==========================================
+ Hits        15223    15577     +354     
- Misses        423      430       +7     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

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

codecov[bot] avatar Nov 06 '25 15:11 codecov[bot]