From: Don A. <don...@co...> - 2005-12-22 17:27:00
|
However, I should note, that in some cases we build the equivalent of cross reference tables in memory using python dictionaries (hash tables). It is very likely that we can build the equivalent back reference tables in memory on reading the GEDCOM or XML files. We would probably need to do a bit of benchmarking to see if this buys us anything. Its hard to tell with in-memory representations. Depending on what you are doing, a list search can be quick or slow. Don Don Allingham wrote: > The other backends are in-memory representations. Back references here > are not really a problem, because the disk is never hit. > > Neither of these backends are intended for large databases, but since > everthing is in memory, the searches are not that painful. > > Don > > Benny.Malengier@UGent.be wrote: > >> Quoting Alex Roitman <sh...@gr...>: >> >>> On Wed, 2005-12-21 at 18:23 +0000, Richard Taylor wrote: >>> >>>> Sorry, my mistake, EditRepository does a sequencial scan to get the >>>> backlinks >>>> from Sources, I thought it was using an explicit backlink in >>>> Repository. No >>>> problem I will change EditRepository to use reference_map. >>> >>> >>> >>> Other places where backlinks were obtained by walking the DB are: >>> EditPlace (Place editor, display_references) >>> ImageSelect (Media editor, GlobalMediaProperties.display_refs). >>> >>> And we should probably do the same for the EventEditor: a tab with >>> all the Person/Family objects linking to this event. The Witness >>> tab will be gone, and this References tab should replace it. Then >>> finding a witness is a matter of sorting by the Role column. >> >> >> >> I did not completely go over the code for the backends. Are Gedcom and >> such >> loaded in a temporary BSDDB on startup? >> >> If not, as I mentioned in my other post, making heavy use of >> reference_map will >> be slow if BSDDB is not used as backend. Perhaps the frontend should >> have some >> indication if what will be shown on screen will be fast or not and not >> offer an >> option if it's slow on the backend that is activated or do it without >> blocking >> the interface like what happens now for sourcereferences in the >> sourceeditor of >> 2.0.9: the tab has italics as long as it's working retrieving the >> references, >> and becomes bold if finished. >> The more BSDDB optimized queries and searches are added to the BSDDB >> backend the >> more this might become an issue. >> >> Just to mention it, >> Benny >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> >> >> >> ------------------------------------------------------- >> This SF.net email is sponsored by: Splunk Inc. Do you grep through log >> files >> for problems? Stop! Download the new AJAX search engine that makes >> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click >> _______________________________________________ >> Gramps-devel mailing list >> Gra...@li... >> https://lists.sourceforge.net/lists/listinfo/gramps-devel >> > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Gramps-devel mailing list > Gra...@li... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > |