pkmnfrk 2010-06-01 15:33:51 -0700 (Tue, 01 Jun 2010) 1806 Finally added support for RELOAD delay loading: (see below for details)
- Added new utility reloadtime.bas, which times exactly how long it takes to load any random RELOAD document. - reload2xml now passes optNoDelay, since it does not benefit from delay loading - reloadTest now includes two document comparison tests: first with no delay loading, and then again with delay loading. - xml2reload now display memory usage (again? I don't know if I ever committed this change), and frees the XML document before optimizing the RELOAD tree (I meant to commit this two days ago) Delay Loading: This means that nodes will only be loaded from disk as they are accessed. Depending on what the tree is being used for this can be a huge time saver. The ideal use-case for this feature would be the hypothetical Textbox lump, whereby only the textboxes that are referenced are actually loaded. This would speed up loading the document initially, with the tradeoff of spreading out the document load to later. Basically, it works like this: 1. When the document is loaded, the root node (including data) is loaded, but its children are not. 2. If its children are requested (eg, by calling GetFirstChild or AddChild or something), it will load all its kids (but not their children), and the requested operation can take place. 3. Repeat for each of those children that are requested. While this takes place, the document holds on to the file handle (so that the document cannot be modified or removed while it still refers to it), and releases it when the document is freed. The old behaviour of loading everything at the beginning can be restored by passing optNoDelay to RELOAD.LoadDocument. I've tested everything pretty thoroughly, but as always, if you find a way to break it (tmc >:@), let me know. --- U wip/makereload.bat U wip/makereload.sh U wip/reload.bas U wip/reload.bi U wip/reload2xml.bas U wip/reloadtest.bas A wip/reloadtime.bas U wip/xml2reload.bas _______________________________________________ Ohrrpgce mailing list [email protected] http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
