Re: macOS prefetching support - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: macOS prefetching support
Date
Msg-id CA+hUKGKoS+S5Hz6e3cQN8-RqChQvfuvp4qurTZCmJpiqz7_z6g@mail.gmail.com
Whole thread Raw
In response to macOS prefetching support  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: macOS prefetching support
List pgsql-hackers
On Wed, Aug 14, 2024 at 7:04 PM Peter Eisentraut <peter@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!



pgsql-hackers by date:

Previous
From: "Joel Jacobson"
Date:
Subject: Re: [PATCH] Add get_bytes() and set_bytes() functions
Next
From: Arseny Sher
Date:
Subject: Re: Taking into account syncrep position in flush_lsn reported by apply worker