This pull request dramatically improves the performance of infoContentMethod(), especially for long lists of GO terms.
infoContentMethod_cpp() function was rewritten to support lists of GO terms, so that the whole GO distance matrix is calculated by the single C++ call. Internally, infoContentMethod_cpp() now utilizes C++ maps and sets to avoid linear searches of GO terms etc.
I believe wangMethod() could also benefit for similar optimizations.
This pull request dramatically improves the performance of
infoContentMethod()
, especially for long lists of GO terms.infoContentMethod_cpp()
function was rewritten to support lists of GO terms, so that the whole GO distance matrix is calculated by the single C++ call. Internally, infoContentMethod_cpp() now utilizes C++ maps and sets to avoid linear searches of GO terms etc.I believe
wangMethod()
could also benefit for similar optimizations.