summaryrefslogtreecommitdiff
path: root/contrib/pg_surgery/sql
diff options
context:
space:
mode:
authorTom Lane2025-07-18 20:42:02 +0000
committerTom Lane2025-07-18 20:42:10 +0000
commit3683af617044d271ab7486d43d06f9689ed4961d (patch)
tree64dbe2ef951553f0ff18e84a52f4c56bcdac5ded /contrib/pg_surgery/sql
parent84409ed640568d8ccaaf1df1a41fb02f37d026ed (diff)
Speed up byteain by not parsing traditional-style input twice.HEADmaster
Instead of laboriously computing the exact output length, use strlen to get an upper bound cheaply. (This is still O(N) of course, but the constant factor is a lot less.) This will typically result in overallocating the output datum, but that's of little concern since it's a short-lived allocation in just about all use-cases. A simple microbenchmark showed about 40% speedup for long input strings. While here, make some cosmetic cleanups and add a test case that covers the double-backslash code path in byteain and byteaout. Author: Steven Niu <niushiji@gmail.com> Reviewed-by: Kirill Reshke <reshkekirill@gmail.com> Reviewed-by: Stepan Neretin <slpmcf@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/ca315729-140b-426e-81a6-6cd5cfe7ecc5@gmail.com
Diffstat (limited to 'contrib/pg_surgery/sql')
0 files changed, 0 insertions, 0 deletions