Howdy, all I'm poking around with the marks code. Currently, marks are _really slow_ when you connect at least one mark to an image tag — when an image with no marks drops to zero refs, we lose track of what marks it may have, and on the next marks filtering op, we end up having to hit the XMP for every file in the directory.
My current plan is to just ref every FileData in the directory if marks are turned on (and then unref them all when we change directories), which means that marks filter operations will be hitting an in-memory cache rather than having to go to disk _and_ reparse all the XML. That said, I imagine that we'd be better off just always holding a ref for every FileData in the current directory. On my machine, a FileData is 176 bytes and a GList is 24 bytes, so for a directory of 20,000 images, we'd be spending 3.8MB holding FileDatas. That's nothing. In turn, it'd mean that we could suddenly sort or filter by any XMP or EXIF tag and it'd be fast, without having to do any refcount special-casing. We'd hit the disk at most once for every FileData in the directory, and that's it. Thoughts? --xsdg ------------------------------------------------------------------------------ WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd _______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel