test_json_parser: Speed up 002_inline.pl
authorJacob Champion <[email protected]>
Wed, 1 Oct 2025 16:48:57 +0000 (09:48 -0700)
committerJacob Champion <[email protected]>
Wed, 1 Oct 2025 16:48:57 +0000 (09:48 -0700)
commitfd726b8379a8191da9e74d28761c967eda13f5f2
tree86ea0381cd4c29f0a7a962f57a01a0d693bb5823
parent3e908fb54ff8fa857180bc212ca79c7bd95dcc2c
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 <[email protected]>
Suggested-by: Andres Freund <[email protected]>
Tested-by: Andrew Dunstan <[email protected]>
Tested-by: Tom Lane <[email protected]>
Tested-by: Robert Haas <[email protected]>
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