kahypar / mt-kahypar

Mt-KaHyPar (Multi-Threaded Karlsruhe Hypergraph Partitioner) is a shared-memory multilevel graph and hypergraph partitioner equipped with parallel implementations of techniques used in the best sequential partitioning algorithms. Mt-KaHyPar can partition extremely large hypergraphs very fast and with high quality.
MIT License
122 stars 25 forks source link

FM refactoring and compile times reduction #163

Closed N-Maas closed 1 year ago

N-Maas commented 1 year ago

Clean build times are ~1.5 times faster on my machine while the compilation time for the slowest files is reduced by a factor of 2-3.

codecov[bot] commented 1 year ago

Codecov Report

Merging #163 (412ee65) into master (bf24f75) will increase coverage by 0.89%. The diff coverage is 78.26%.

:exclamation: Current head 412ee65 differs from pull request most recent head f7fe3c6. Consider uploading reports for the commit f7fe3c6 to get more accurate results

@@            Coverage Diff             @@
##           master     #163      +/-   ##
==========================================
+ Coverage   78.32%   79.21%   +0.89%     
==========================================
  Files         201      203       +2     
  Lines       19530    19736     +206     
  Branches     7995     7988       -7     
==========================================
+ Hits        15296    15634     +338     
+ Misses       4234     4102     -132     
Files Coverage Δ
mt-kahypar/io/sql_plottools_serializer.cpp 92.56% <ø> (ø)
...ar/partition/coarsening/multilevel_uncoarsener.cpp 62.18% <100.00%> (+0.64%) :arrow_up:
...ahypar/partition/coarsening/nlevel_uncoarsener.cpp 78.21% <100.00%> (+0.21%) :arrow_up:
...-kahypar/partition/coarsening/nlevel_uncoarsener.h 100.00% <ø> (ø)
.../initial_partitioning/greedy_initial_partitioner.h 100.00% <100.00%> (ø)
...partitioning/initial_partitioning_data_container.h 93.20% <ø> (ø)
.../initial_partitioning/pool_initial_partitioner.cpp 87.09% <ø> (ø)
...-kahypar/partition/refinement/flows/flow_refiner.h 0.00% <ø> (ø)
...partition/refinement/flows/parallel_construction.h 100.00% <ø> (ø)
...t-kahypar/partition/refinement/flows/scheduler.cpp 75.42% <100.00%> (ø)
... and 24 more

... and 59 files with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more