JuliaPolyhedra / Polyhedra.jl

Polyhedral Computation Interface
Other
172 stars 27 forks source link

Fix performance issue in redundancy removal #280

Closed blegat closed 2 years ago

blegat commented 2 years ago

For the example of https://github.com/JuliaPolyhedra/Polyhedra.jl/issues/279, this PR gives almost a 10x speedup! Before:

0.159333 seconds (63.51 k allocations: 8.252 MiB)

After:

0.018471 seconds (10.34 k allocations: 909.406 KiB)

Closes https://github.com/JuliaPolyhedra/Polyhedra.jl/issues/279

codecov[bot] commented 2 years ago

Codecov Report

Merging #280 (704e4eb) into master (0288f27) will increase coverage by 0.20%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #280      +/-   ##
==========================================
+ Coverage   88.14%   88.34%   +0.20%     
==========================================
  Files          37       37              
  Lines        2894     2901       +7     
==========================================
+ Hits         2551     2563      +12     
+ Misses        343      338       -5     
Impacted Files Coverage Δ
src/opt.jl 89.53% <100.00%> (+5.81%) :arrow_up:
src/redundancy.jl 91.24% <100.00%> (+0.29%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0288f27...704e4eb. Read the comment docs.