pgsql: test_json_parser: Speed up 002_inline.pl

From: Jacob Champion <jchampion(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: test_json_parser: Speed up 002_inline.pl
Date: 2025-10-01 16:51:51
Message-ID: E1v403S-000xdO-32@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(at)gmail(dot)com>
Suggested-by: Andres Freund <andres(at)anarazel(dot)de>
Tested-by: Andrew Dunstan <andrew(at)dunslane(dot)net>
Tested-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Tested-by: Robert Haas <robertmhaas(at)gmail(dot)com>
Discussion: https://postgr.es/m/CA%2BTgmobKoG%2BgKzH9qB7uE4MFo-z1hn7UngqAe9b0UqNbn3_XGQ%40mail.gmail.com
Backpatch-through: 17

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fd726b8379a8191da9e74d28761c967eda13f5f2

Modified Files
--------------
src/test/modules/test_json_parser/README | 10 +-
src/test/modules/test_json_parser/t/002_inline.pl | 26 ++++-
.../test_json_parser_incremental.c | 127 +++++++++++++--------
3 files changed, 106 insertions(+), 57 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2025-10-02 02:09:56 pgsql: pgstattuple: Improve reports generated for indexes (hash, gist,
Previous Message Peter Eisentraut 2025-10-01 15:19:15 pgsql: Fix compiler warnings around _CRT_glob