| From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
|---|---|
| To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: macOS prefetching support |
| Date: | 2024-08-14 12:36:23 |
| Message-ID: | CA+hUKGKoS+S5Hz6e3cQN8-RqChQvfuvp4qurTZCmJpiqz7_z6g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Aug 14, 2024 at 7:04 PM Peter Eisentraut <peter(at)eisentraut(dot)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!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jacob Champion | 2024-08-14 12:49:19 | Re: PG_TEST_EXTRA and meson |
| Previous Message | Joel Jacobson | 2024-08-14 12:34:06 | Re: [PATCH] Add get_bytes() and set_bytes() functions |