]> git.ipfire.org Git - thirdparty/postgresql.git/commit
test_json_parser: Speed up 002_inline.pl
authorJacob Champion <jchampion@postgresql.org>
Wed, 1 Oct 2025 15:14:23 +0000 (08:14 -0700)
committerJacob Champion <jchampion@postgresql.org>
Wed, 1 Oct 2025 15:14:23 +0000 (08:14 -0700)
commit8474a3a15056e06ed797530db5419fee8bfd053a
tree3263dab41e1316a48ad318938159328ffac26c3f
parent29aabbc432693b3fcda287b953c832d62dda7946
test_json_parser: Speed up 002_inline.pl

Some macOS machines are having trouble with 002_inline, which executes
the JSON parser test executables hundreds of times in a nested loop.
Both developer machines and buildfarm critters have shown excessive test
durations, upwards of 20 seconds.

Push the innermost loop of 002_inline, which iterates through differing
chunk sizes, down into the test executable. (I'd eventually like to push
all of the JSON unit tests down into C, but this is an easy win in the
short term.) Testers have reported a speedup between 4-9x.

Reported-by: Robert Haas <robertmhaas@gmail.com>
Suggested-by: Andres Freund <andres@anarazel.de>
Tested-by: Andrew Dunstan <andrew@dunslane.net>
Tested-by: Tom Lane <tgl@sss.pgh.pa.us>
Tested-by: Robert Haas <robertmhaas@gmail.com>
Discussion: https://postgr.es/m/CA%2BTgmobKoG%2BgKzH9qB7uE4MFo-z1hn7UngqAe9b0UqNbn3_XGQ%40mail.gmail.com
Backpatch-through: 17
src/test/modules/test_json_parser/README
src/test/modules/test_json_parser/t/002_inline.pl
src/test/modules/test_json_parser/test_json_parser_incremental.c