Re: [PATCH] Hex-coding optimizations using SVE on ARM.
John Naylor <johncnaylorls@gmail.com>
From: John Naylor <johncnaylorls@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, "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-15T06:57:26Z
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 →
-
Optimize hex_encode() and hex_decode() using SIMD.
- ec8719ccbfcd 19 (unreleased) landed
-
Speed up hex_encode with bytewise lookup
- e24d77080b36 18.0 landed
Attachments
- v3-0001-Speed-up-hex_encode-with-bytewise-lookup.patch (text/x-patch) patch v3-0001
On Tue, Jan 14, 2025 at 11:57 PM Nathan Bossart <nathandbossart@gmail.com> wrote: > > 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. Thanks for looking further! Yeah, I like that the table is still only 512 bytes. > > 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 Okay, I added a comment. I also agree with Michael that my quick one-off was a bit hard to read so I've cleaned it up a bit. I plan to commit the attached by Friday, along with any bikeshedding that happens by then. -- John Naylor Amazon Web Services