On Wed, Aug 14, 2024 at 7:04 PM Peter Eisentraut <pe...@eisentraut.org> wrote: > Attached is a patch to implement this. It seems to work, but of course > it's kind of hard to tell whether it actually does anything useful.
Header order problem: pg_config_os.h defines __darwin__, but pg_config_manual.h is included first, and tests __darwin__. I hacked my way around that, and then made a table of 40,000,000 integers in a 2GB buffer pool. I used "select count(pg_buffercache_evict(buffered)) from pg_buffer_cache", and "sudo purge", to clear the two layers of cache for each test, and then measured: maintenance_io_concurrency=0, ANALYZE: 2311ms maintenance_io_concurrency=10, ANALYZE: 652ms maintenance_io_concurrency=25, ANALYZE: 389ms It works!