[chimera-dev] source of ~10x slowdown in opening of Molecules in lastest chimera
Greg Couch
gregc at cgl.ucsf.edu
Tue Jun 3 14:44:46 PDT 2003
After much digging, it turns out that the slowdown occurs when the
PDBio wrapper returns the new molecules to chimera. Due to wrappy's
C++/Python reference count caching, the molecule's attributes are
fetched at that time, and one of those attributes, sortedAtoms, takes a
long time to compute (for 4371 atoms it takes 4.1 seconds on socrates,
3.2 on spin and 5.9 on my home P4). With a timing script, we can see
that sortedAtoms isn't any slower in the lastest chimera, and
sortedAtoms has been an attribute since 2000/05/02, so an optimization
to speed up the initial sorting of atoms seems to have been lost
recently. So far, I have been unable to find it, so I'm hoping Eric
or Conrad will chime in.
In the mean time, making sortedAtoms a member function instead of an
attribute (which wrappy much prefers anyway) avoids the delay. Luckily
no .py file in /usr/local/src/chimera calls sortedAtoms, so it is a
fairly safe fix.
- Greg
More information about the Chimera-dev
mailing list