OBResiude changes held back for v3.0 release
I have profiled the library while converting various large molecules,
and have re-written some of the slowest functions, in OBBitVec and
OBResidue. MY most noticeable improvement is OBBitVec::CountBits which
is now 500x faster. These improvements have knock on effects in
speeding up many of the library's slower operations, such as
OBMol::ContigFragList and OBBond::IsClosure.
The impact on the API is minor, mostly the =20
modified
OBResidueAtomIterator for iterating over the atoms within a residue.
(used in mol.cpp and obiter.h)
=20
Unfortunately, this breaks backwards compatibility in a few subtle =20
ways.
While your new version has some benefits, we can't break API yet. That =20
said, it looks like a good approach for 3.0.
Good reasons. Unless I hear other ideas to the contrary, I will hold
back the OBResidue->OBAtom one to many speed-up changes until I see that
the next release is going to be 3.0