Re: [PATCH] Hex-coding optimizations using SVE on ARM.
Chiranmoy.Bhattacharya@fujitsu.com <chiranmoy.bhattacharya@fujitsu.com>
From: "Chiranmoy.Bhattacharya@fujitsu.com" <Chiranmoy.Bhattacharya@fujitsu.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, David Rowley <dgrowleyml@gmail.com>, John
Naylor <johncnaylorls@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, "Devanga.Susmitha@fujitsu.com" <Devanga.Susmitha@fujitsu.com>, "Ragesh.Hajela@fujitsu.com" <Ragesh.Hajela@fujitsu.com>
Date: 2025-07-07T10:41:52Z
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
- bytea_test.py (text/x-python)
- v1-0001-hex-coding-regress-test.patch (application/octet-stream) patch v1-0001
- v5-0001-SVE-support-for-hex-coding.patch (application/octet-stream) patch v5-0001
Attaching the rebased patch, some regression tests for SIMD hex-coding, and a script to test bytea performance (usage info in the script). The results obtained using the script on an m7g.4xlarge are shown below. Read Operation table (MB) | HEAD (ms) | SVE (ms) | improvement (%) --------------------------------------------------- 52 | 136 | 111 | 18.38 105 | 215 | 164 | 23.72 209 | 452 | 331 | 26.76 419 | 830 | 602 | 27.46 Write Operation - table size after write table (MB) | HEAD (ms) | SVE (ms) | improvement (%) --------------------------------------------------- 52 | 1430 | 1361 | 4.82 105 | 2956 | 2816 | 4.73 The bytea write numbers are averaged over 7 runs, with the table truncated and vacuumed after each run. -------- Chiranmoy