> Does analysis load the whole data model into memory each time it starts?
> could it do some lazy loading e.g. load proxies for top level objects
> such as spectra peak lists which provide basic information etc until
> they are used?
Gary,
Analysis does not load all the data at the start. - Lazy loading is built
into the Python XML API. This is done at the package level.
However, the Nmr package which Analysis necessarily has to load can be
very big. We have considered making separate packages out of peak lists,
but decided against because everything is so tightly coupled - vast
numbers of cross links to resonances and the like. In any case, the normal
functioning of Analysis (e.g. setting a shift) would soon trigger loads of
the peak lists. Better to have the wait at the start when you expect it.
In general the loading of projects will become swifter in the new version
(1.1) in any case, because Rasmus has moved us over to a different,
quicker XML parser. It is also hoped that this will also cut down on some
of the irreversible memory allocation at load time.
> >(There is another performance issue which hits you after N hours, and that
>
> presumably these are circular references and data structures in lists
> that have been orphaned... so they only appear in the lists?
When Wayne checked it looks like it was mostly Tkinter menus, which we
don't have so much control over. The main parts of Analysis, like tables,
tend to naturally clean up after themselves.
> One question here is do you need validity checks during a clone
> operation? surely the peak list you start with should be valid anyway...
> so as long as you make a faithful copy (i.e. there isn't a bug) the
> resulting peak list should also be valid. So would this change really
> be dangerous?
It's more the links to outside the peak list that are the concern, rather
than in the internal hierarchy. However, I agree if that if we had trust
checks could be reduced.
T.
-------------------------------------------------------------------------------
Dr Tim Stevens Email: [log in to unmask]
Department of Biochemistry [log in to unmask]
University of Cambridge Phone: +44 1223 766018 (office)
80 Tennis Court Road +44 7816 338275 (mobile)
Old Addenbrooke's Site +44 1223 364613 (home)
Cambridge CB2 1GA WWWeb: http://www.bio.cam.ac.uk/~tjs23
United Kingdom http://www.pantonia.co.uk
-------------------------------------------------------------------------------
------ +NH3CH(CH(CH3)OH)C(O)NHCH(CH(CH3)CH2CH3)C(O)NHCH(CH2CH2SCH3)CO2- -------
-------------------------------------------------------------------------------
|