Performance and Correctness Improvements #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a potentially large (O(data size)) stack allocation in
BPCompare()
, which causedbpcomp
to crash when run on a bigger data set and number of cycles (~500 proteins, 20 000 cycles). This has been mitigated by modifying the function so that is usesstd::vector
for heap allocation in place of VLAs on the stack (which aren't portable/standard C++ anyway).The Makefile has also been modified so that the compiler and the linker receives the
-flto
flag. Most modern C++ compilers support this flag, and it demonstrably improves the performance of the emitted code.