Optimize Arm64 crc32 implementation in PostgreSQL

From: Xiang Gao <Xiang(dot)Gao(at)arm(dot)com>
To: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Optimize Arm64 crc32 implementation in PostgreSQL
Date: 2023-08-21 09:32:42
Message-ID: DB9PR08MB69915C40B7EA107E9DFCBE46F51EA@DB9PR08MB6991.eurprd08.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

Currently PostgreSQL has three different variants of a 32-bit CRC calculation: CRC-32C, CRC-32(Ethernet polynomial),
and a legacy CRC-32 version that uses the lookup table. Some ARMv8 (AArch64) CPUs implement the CRC32 extension which
is equivalent with CRC-32(Ethernet polynomial), so they can also benefit from hardware acceleration.

Can I propose a patch to optimize crc32 calculation with Arm64 specific instructions?

Any comments or feedback are welcome.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zhijie Hou (Fujitsu) 2023-08-21 09:45:44 RE: [PoC] pg_upgrade: allow to upgrade publisher node
Previous Message Daniel Gustafsson 2023-08-21 09:16:21 Re: [dsm] comment typo