On Wednesday, 30 July 2025 11:17:42 Central European Summer Time Duncan wrote: > Last he posted, however, he > was working on implementing the database backend first for some less > critical stuff, before attempting the real scalability challenge stuff.
Currently, Pan architecture looks like: - a reader of pan group and articles files - an in-memory tree to store group articles and all their data (see my-tree.cc files). This component is responsible of tracking threads in newsgroups. - a component to download articles and store them in my-tree - another in-memory tree that is used by gtk widget (pan-tree.cc). pan-tree loads data from my-tree - a writer of pan files. So far I've completed: - a component to migrate most pan files into sqlite - the replacement of the first in-memory tree. Threads are tracked with the DB - connecting the 2nd in-memory tree to the first one to use the DB. - component tests for the tricky parts of the new code - doc update of README.org - using log4cpp with the new code, so we can trace specific parts of the code with several log levels (see ~/.pan2/pan-log.properties file which is created by new pan) - pan file write is dropped. All in all, barring bugs, Pan with sqlite is functional. They are still some performance issues: - migration of existing files is slow on big groups. Since this is a one shot operation, I don't worry too much about that. - sorting articles according to subject or date is quite slow with a group containing . I'm still working on this one. Note that testing pan with sqlite is a one way street: old pan files are deleted once they are migrated. Be sure to backup ~/.pan2 before testing. Here's a trick I use to manage this backup/restore: - I've copied ~/.pan2 in ~/.pan2-old - To restart the test, I run: rsync -a ~/.pan2-old/ ~/.pan2/ --delete --exclude pan-log.properties -v Note that I won't merge sqlite branch on master until: - I've resolved the perf issues - I've heard back from several people that pan with sqlite is functional with their setup. So please test this branch on your side. Please add a "sqlite" label on any issue created for this branch. All the best _______________________________________________ Pan-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/pan-users
