
D. Hugh Redelmeier via talk wrote on 2025-02-08 09:25:
Here aer a couple of Mailman 3 merge requests that are interesting. <https://gitlab.com/mailman/mailman/-/issues/1050> <https://gitlab.com/mailman/mailman/-/merge_requests/1093>
Looks like that guy's done some good work at reducing overhead. Shame it's 2 years old. Thanks for pointing them out though, interesting reading.
I'm not saying that the code is correct but that what has been explained is useful:
- simply reducing the queue runners reduces the space requirements. I would guess that GTALUG's lists could be well served by as few as one or two queue runners.
- the processes each have an unshared read/write copy of the all the python code. Very wasteful. Each process has to load the code, even though they are all the same That costs time, disk reads, and space
- the code is loaded into the heap, apparently mingled with mutable things. This make sharing via Copy on Write much less effective.
- Python is bone-headed about forks. In a host of ways. I knew that.
This last part I didn't know. Care to expand upon it - interesting topic in its own right.