Re: autovectorize page checksum code included elsewhere
От | Ants Aasma |
---|---|
Тема | Re: autovectorize page checksum code included elsewhere |
Дата | |
Msg-id | CANwKhkPw2=p97pYdo3oKgtp6q1N7O+HaOMtVwho_k6msYw+S2g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: autovectorize page checksum code included elsewhere (John Naylor <johncnaylorls@gmail.com>) |
Ответы |
Re: autovectorize page checksum code included elsewhere
|
Список | pgsql-hackers |
On Wed, 22 Nov 2023 at 11:44, John Naylor <johncnaylorls@gmail.com> wrote: > > On Tue, Nov 7, 2023 at 9:47 AM Nathan Bossart <nathandbossart@gmail.com> wrote: > > > > Presently, we ask compilers to autovectorize checksum.c and numeric.c. The > > page checksum code actually lives in checksum_impl.h, and checksum.c just > > includes it. But checksum_impl.h is also used in pg_upgrade/file.c and > > pg_checksums.c, and since we don't ask compilers to autovectorize those > > files, the page checksum code may remain un-vectorized. > > Poking in those files a bit, I also see references to building with > SSE 4.1. Maybe that's an avenue that we should pursue? (an indirect > function call is surely worth it for page-sized data) For reference, executing the page checksum 10M times on a AMD 3900X CPU: clang-14 -O2 4.292s (17.8 GiB/s) clang-14 -O2 -msse4.1 2.859s (26.7 GiB/s) clang-14 -O2 -msse4.1 -mavx2 1.378s (55.4 GiB/s) -- Ants Aasma Senior Database Engineer www.cybertec-postgresql.com
В списке pgsql-hackers по дате отправления: