Re: [PATCH] Hex-coding optimizations using SVE on ARM.

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: John Naylor <johncnaylorls@gmail.com>, "Chiranmoy.Bhattacharya@fujitsu.com" <Chiranmoy.Bhattacharya@fujitsu.com>, "Devanga.Susmitha@fujitsu.com" <Devanga.Susmitha@fujitsu.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, "Ragesh.Hajela@fujitsu.com" <Ragesh.Hajela@fujitsu.com>
Date: 2025-01-14T16:57:51Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Optimize hex_encode() and hex_decode() using SIMD.

  2. Speed up hex_encode with bytewise lookup

On Tue, Jan 14, 2025 at 12:59:04AM -0500, Tom Lane wrote:
> John Naylor <johncnaylorls@gmail.com> writes:
>> We can do about as well simply by changing the nibble lookup to a byte
>> lookup, which works on every compiler and architecture:

Nice.  I tried enabling auto-vectorization and loop unrolling on top of
this patch, and the numbers looked the same.  I think we'd need CPU
intrinsics or an even bigger lookup table to do any better.

> I didn't attempt to verify your patch, but I do prefer addressing
> this issue in a machine-independent fashion.  I also like the brevity
> of the patch (though it could do with some comments perhaps, not that
> the existing code has any).

+1

-- 
nathan