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

Eliminate nondeterminism in Condition ordering #2378

Merged

Conversation

adamjseitz
Copy link
Contributor

Conditions were sorted nondeterministically in during both the MakeIndex and ReorderConditions RAM transforms. This updates both to use std::stable_sort and eliminates use of pointer comparison to sort Conditions.

When building incremental builds of ddisasm with --generate-many, these changes significantly reduce the number of object files to recompile when a trivial change is made (with the change I am making in my particular configuration, it drops from rebuilding 18 compilation units down to two).

Conditions were sorted nondeterministically in during both the MakeIndex
and ReorderConditions RAM transforms.

This updates both to use std::stable_sort and eliminates use of pointer
comparison to sort Conditions.
@codecov
Copy link

codecov bot commented Dec 21, 2022

Codecov Report

Merging #2378 (87c7e4f) into master (251e8fd) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2378   +/-   ##
=======================================
  Coverage   77.52%   77.53%           
=======================================
  Files         467      467           
  Lines       30778    30779    +1     
=======================================
+ Hits        23862    23864    +2     
+ Misses       6916     6915    -1     
Impacted Files Coverage Δ
src/ram/transform/MakeIndex.cpp 86.81% <100.00%> (ø)
src/ram/transform/ReorderConditions.cpp 100.00% <100.00%> (ø)
...ouffle/datastructure/ConcurrentInsertOnlyHashMap.h 88.18% <0.00%> (+0.78%) ⬆️

@quentin quentin merged commit 4256bab into souffle-lang:master Jan 5, 2023
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.

2 participants