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

Revisions №59953

branch: master 「№59953」
Commited by: Andrew Leaver-Fay
GitHub commit link: 「ff4c3aeee4434814」 「№2834」
Difference from previous tested commit:  code diff
Commit date: 2018-01-02 10:53:05

Merge pull request #2834 from RosettaCommons/aleaverfay/datamap_access_improvement DataMap::get() and get_ptr() efficiency The previous way data was retrieved from the DataMap was wildly inefficient. First, it made a complete copy of the inner std::map<string,RefCountOP> map, instead of asking for a reference, and then, instead of using find() on that inner map, it searched through all of its entries in O(n) fashion. Why even have a map if you're going to search that way? So now the inner map is retrieved by reference (thanks, Sergey, for pointing out this inefficiency) and then the inner map's find() function is used for O(ln(n)) search. I was seeing a large number of trajectory changes due to these changes in a number of integration tests in another branch, so I am moving these changes into their own branch to merge by themselves. Stangely, these modifications on their own are not producing the trajectory changes I was seeing in another branch, so I'm kinda confused.