1 Apr 2008 11:00
Re: LocalStatus as SQLlite
Stewart Smith <stewart <at> flamingspork.com>
2008-04-01 09:00:10 GMT
2008-04-01 09:00:10 GMT
On Mon, 2008-03-31 at 10:16 -0500, John Goerzen wrote: > First off, thank you for your continued work and persistence on this. Not a problem - just maintaining what i find useful. mmmm... free software. > Referring back to the original thread [1], it looks like there may be a > couple of regressions: > > 1) That we cannot use threading to simultaneously download multiple messages > in a single folder; Yep. One possible way around this would be to add locking to LocalStatus so that only one thread can use the object at once (but every other bit of code can run in parallel). > 2) That changes are not committed immediately after each change (but only at > the end of processing a folder) Or every 100 flag changes. This is intentional. Commit == fsync() - so it's a relatively expensive operation. When there's been a lot of changes (e.g. marking lots of mails as read... common for me on heavy traffic mailing lists), it's the difference between being able to sync about 100/s and a lot more /sec... and also reduces file system journal traffic and leaves more disk ops (sync) for other apps you're probably running at the same time. If you crash during this part of the sync, it'll just have to re-sync up to 100 messages flags.. so I don't think it's much of an issue.(Continue reading)
RSS Feed