「view this page in B3 βῆτα server」

Revisions №57321

branch: master 「№57321」
Commited by: Andrew Leaver-Fay
GitHub commit link: 「e996eef849c03567」 「№112」
Difference from previous tested commit:  code diff
Commit date: 2014-09-30 10:01:06

Merge pull request #112 from RosettaCommons/aleaverfay/lrec_any_neighbors_for_residue Merging master and branch aleaverfay/lrec_any_neighbors_for_residue Several changes to the code in response to performance degradations following the pointer-rewrite merge. 1) the LREnergyContainer now has an extra virtual method "any_neighbors_for_residue" which allows it to avoid creating iterators for residues with no neighbors; thus the disulfide energy doesn't spend nearly as much time allocating and deallocating iterators for non-disulfide bonded residues (most of them). 2) Inlining more accessors in Residue and Conformation. 3) Avoiding reference-count increments by replacing accessors that returned MyClassOP and MyClassCOPs with MyClass & and MyClass const &s. 4) Adding raw-pointer variants of the performance-critical AtomTree functions which otherwise resulted in some rather surprising and dramatic code slowdowns and an explanation why raw pointers are used in these functions instead of smart pointers since raw pointers are heavily frowned upon. Also, the minimization performance benchmarks are not doing what they seem to be advertising; they're mostly running the deriv check code. They're not really making sure that dfpmin didn't get slower. It also looks like one of the interaction graph benchmarks is failing.

...