On 05/06/2023 11:18, Tom Lane wrote: > Heikki Linnakangas <hlinnaka(at)iki(dot)fi> writes: >> I spoke with some folks at PGCon about making PostgreSQL multi-threaded, >> so that the whole server runs in a single process, with multiple >> threads. It has been discussed many times in the past, last thread on >> pgsql-hackers was back in 2017 when Konstantin made some experiments [0]. > >> I feel that there is now pretty strong consensus that it would be a good >> thing, more so than before. Lots of work to get there, and lots of >> details to be hashed out, but no objections to the idea at a high level. > >> The purpose of this email is to make that silent consensus explicit. If >> you have objections to switching from the current multi-process >> architecture to a single-process, multi-threaded architecture, please >> speak up. > > For the record, I think this will be a disaster. There is far too much > code that will get broken, largely silently, and much of it is not > under our control.
I fully agreed with Tom. First, it is not clear what are the benefits of architecture change? Performance? Development becomes much more complicated and error-prone. There are still many low-hanging fruit to be had that can improve performance. And the code can gradually and safely remove multithreading barriers. 1. gradual reduction of global variables 2. introduction of local context structures 3. shrink current structures (to fit in 32, 64 boundaries) 4. scope reduction My 2c. regards, Ranier Vilela