Add optimized functions for linear search within byte arrays
John Naylor <john.naylor@postgresql.org>
Add optimized functions for linear search within byte arrays In similar vein to b6ef167564, add pg_lfind8() and pg_lfind8_le() to search for bytes equal or less-than-or-equal to a given byte, respectively. To abstract away platform details, add helper functions and typedefs to simd.h. John Naylor and Nathan Bossart, per suggestion from Andres Freund Discussion: https://www.postgresql.org/message-id/CAFBsxsGzaaGLF%3DNuq61iRXTyspbO9rOjhSqFN%3DV6ozzmta5mXg%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/include/port/pg_lfind.h | modified | +66 −2 |
| src/include/port/simd.h | modified | +167 −1 |
| src/test/modules/test_lfind/expected/test_lfind.out | modified | +15 −3 |
| src/test/modules/test_lfind/sql/test_lfind.sql | modified | +3 −1 |
| src/test/modules/test_lfind/test_lfind--1.0.sql | modified | +9 −1 |
| src/test/modules/test_lfind/test_lfind.c | modified | +98 −2 |
Discussion
- [PATCH] Optimize json_lex_string by batching character copying 32 messages · 2022-06-24 → 2022-09-02