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

bool_op refactor #624

Merged
merged 26 commits into from
Mar 6, 2024
Merged

bool_op refactor #624

merged 26 commits into from
Mar 6, 2024

Conversation

SSoelvsten
Copy link
Owner

@SSoelvsten SSoelvsten commented Mar 5, 2024

Closes #162 by ...

  1. Simplify public version of binary operators as predicate<bool, bool>
  2. Pre-compute predicates on the operator, e.g can shortcut.
  3. Add compile-time versions for commutative operators. That is bdd_and(f,g) is not anymore an alias for bdd_apply(f, g, and_op) but a specially compiled version where various if-statements are removed..

@SSoelvsten SSoelvsten added ✨ optimisation It's all about speed / space ✨ code quality Uncle Bob would be proud labels Mar 5, 2024
@SSoelvsten SSoelvsten added this to the v2.0 : API Revamp milestone Mar 5, 2024
@SSoelvsten SSoelvsten self-assigned this Mar 5, 2024
Copy link

codecov bot commented Mar 5, 2024

Codecov Report

Attention: Patch coverage is 98.90411% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 97.306%. Comparing base (0afd369) to head (8b8cee3).

Files Patch % Lines
src/adiar/internal/algorithms/prod2.h 94.595% 2 Missing ⚠️
src/adiar/bdd/apply.cpp 97.917% 1 Missing ⚠️
src/adiar/zdd/binop.cpp 98.592% 1 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##              main      #624       +/-   ##
=============================================
+ Coverage   97.237%   97.306%   +0.069%     
=============================================
  Files           90        90               
  Lines         6371      6534      +163     
=============================================
+ Hits          6195      6358      +163     
  Misses         176       176               

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

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

Copy link

github-actions bot commented Mar 5, 2024

🟢 Regression Test (Picotrav 'adder')

'origin/bool_op-refactor' is a change in performance of 0.16% (stdev: 0.61%).

... origin/main origin/bool_op-refactor
Mean 9155.80 9141.40
Standard Deviation 44.38 55.93

Number of samples: 5

Copy link

github-actions bot commented Mar 5, 2024

🟢 Regression Test (Picotrav 'mem_ctrl')

'origin/bool_op-refactor' is a change in performance of 0.60% (stdev: 0.85%).

... origin/main origin/bool_op-refactor
Mean 113001.67 112322.33
Standard Deviation 963.66 265.16

Number of samples: 3

This comment was marked as off-topic.

@SSoelvsten SSoelvsten added the ❕ breaking version_number++ label Mar 5, 2024
Copy link

github-actions bot commented Mar 5, 2024

🟢 Regression Test (Picotrav 'arbiter')

'origin/bool_op-refactor' is a change in performance of 0.06% (stdev: 0.79%).

... origin/main origin/bool_op-refactor
Mean 62634.00 62597.75
Standard Deviation 495.03 256.20

Number of samples: 4

@SSoelvsten SSoelvsten force-pushed the bool_op-refactor branch 4 times, most recently from aae8cbd to 128c142 Compare March 6, 2024 07:31
@SSoelvsten SSoelvsten marked this pull request as ready for review March 6, 2024 08:01
Copy link

github-actions bot commented Mar 6, 2024

🟢 Regression Test (12-Queens)

'origin/bool_op-refactor' is a change in performance of 1.77% (stdev: 0.97%).

... origin/main origin/bool_op-refactor
Mean 11870.20 11660.40
Standard Deviation 114.58 63.52

Number of samples: 5

Currently, this function is never called with a flagged terminal. Hence, there is no
need to actually make the input canonical
Copy link

github-actions bot commented Mar 6, 2024

🟢 Regression Test (14-Queens)

'origin/bool_op-refactor' is a change in performance of 8.14% (stdev: 15.86%).

... origin/main origin/bool_op-refactor
Mean 294485.50 270512.50
Standard Deviation 46708.36 1373.12

Number of samples: 6

@SSoelvsten SSoelvsten merged commit c20686b into main Mar 6, 2024
56 checks passed
@SSoelvsten SSoelvsten deleted the bool_op-refactor branch March 6, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❕ breaking version_number++ ✨ code quality Uncle Bob would be proud ✨ optimisation It's all about speed / space
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move bool_op into prod2's template arguments
1 participant