Ben,

Thanks for the great benchmarks!  PyMOL is definitely showing non-linear
behavior when it comes to loading a lot of objects...I don't know why this
is exactly, but I can tell you that I didn't originally envision (and thus
optimize PYMOL for) loading of so many objects. 

As it currently stands, there are a number of places where PyMOL does things
using lists when it should be using hashes, and there are many tasks (such
as selecting of atoms) that are linearly dependent (or worse) on the total
number of atoms and coordinate sets present in the system.  All of these
issues will be addressed in time, but it may take a considerable work to
correct them.  Unfortunately, these are more than just bugs -- they are
limitations in the original design.  Such limitations are now the bane of my
existence, my dreams are filled with questions of "How do we fix or improve
the software, without breaking existing PyMOL usage?"  Remodeling an
airplane full of passengers while you're flying it is much more challenging
than when it is empty and on the ground. : )

My current advice is to find creative ways of limiting the total number of
atoms and objects loaded into PyMOL at one time.  One way to do this is to
create subsets which just contain those atoms you'd like to see.  Another
approach is to run multiple PyMOL instances simultaneously.

Cheers,
Warren

PS. It would be great if you could send us one of your more challenging
example scripts to use as a test-case for improvement -- and if you do spot
simple bottlenecks in the code, such information could be very helpful.

--
mailto:war...@delsci.com
Warren L. DeLano, Ph.D.
Principal Scientist
DeLano Scientific LLC
Voice (650)-346-1154 
Fax   (650)-593-4020
  

> -----Original Message-----
> From: pymol-users-ad...@lists.sourceforge.net 
> [mailto:pymol-users-ad...@lists.sourceforge.net] On Behalf Of 
> Ben Allen
> Sent: Tuesday, September 07, 2004 10:32 AM
> To: pymol-users@lists.sourceforge.net
> Subject: [PyMOL] long loading times as the number of existing 
> objects increases
> 
> I have a situation in which I need to load a large number of 
> separate pdb files into a single pymol session.  In this 
> case, the number is ~150, but it could potentially be more.  
> However, the amount of time required to load a file appears 
> to be strongly dependent on the number of files already 
> loaded.  For example:
> 
> # of structures loaded        time to load all structures (seconds)
> 5     0.82
> 10    2.49
> 20    11.05
> 30    29.85
> 40    62.48
> 50    115.25
> 60    189.79
> 70    302.67
> 80    432.82
> 90    589.23
> 
> unfortunately, this means that to load 150 structures takes 
> over an hour.  I observe this behavior whether I am loading 
> the structures all at once using a python script, or one at a 
> time.  In both cases, I am using the cmd.load() api function, 
> but the built-in load command gives similar results.  The 
> structures I am loading are (nearly) identical: 
> each has 263 residues (in a single chain); each individual 
> pdb file is about 215KB.
> 
> I am running this on a dual 2.0 GHz G5 system with 1.5 GB 
> memory.  The long loading times are consistent between the 
> two versions of pymol I have installed: OSX/X11 hybrid 
> version 0.97 and MacPyMol version 0.95.  
> During the long loading times, there is plenty of memory 
> available, but the processor load stays at 50% (i.e. one 
> processor on my machine is fully loaded throughout).
> 
> My gut feeling is that this situation should not be, but I 
> don't yet understand the structure of the code well enough to 
> debug it.  Can anyone shed light on this issue?
> 
> Thanks in advance,
> Ben Allen
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop FREE 
> Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
> _______________________________________________
> PyMOL-users mailing list
> PyMOL-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pymol-users
> 



Reply via email to