On Sun Oct 12 14:37:47 EDT 2014, st...@quintile.net wrote: > I am fairly sure the problem is to do with RAM size rather than the raspberry > pi per-se. > 4000 messages takes up a lot of space - and upas stores messages in RAM.
it's a little worse than this, actually. since upas stores messages in mbox format, the whole file needs to be read or written on update. certainly one could optimize the read bit, but that would be difficult this means that the the whole mbox gets written to the dump every day, and you need about 2x the mailbox size ram for each upas/fs that is run. this does not work out well for large mm messages, or small ram boxes like the pi. the solutions to this are straightforward (1) store one message per file, (2) cache important data in an index to avoid opening all files, (3) avoid O(n²) startup time due to small hash table sizes and high load factor, (4) load message data on demand so ram required is MAX(largest mm hunk, 10mb). i currently have 1000 messages in my inbox, but i have used nupas with 45000 messages. some more work is necessary to handle a quarter million messages comfortably, as that's too many for one directory. nupas is just in /sys/src/cmd/upas on 9atom; the original is no more. - erik