On Thu, Mar 30, 2023 at 08:59:41AM +0200, Peter Eisentraut wrote: > On 30.03.23 04:33, Jeff Davis wrote: > >Attached is a new version of the final patch, which performs > >canonicalization. I'm not 100% sure that it's wanted, but it still > >seems like a good idea to get the locales into a standard format in the > >catalogs, and if a lot more people start using ICU in v16 (because it's > >the default), then it would be a good time to do it. But perhaps there > >are risks? > > I say, let's do it.
The following is not cause for postgresql.git changes at this time, but I'm sharing it in case it saves someone else the study effort. Commit ea1db8a ("Canonicalize ICU locale names to language tags.") slowed buildfarm member hoverfly, but that disappears if I drop debug_parallel_query from its config. Typical end-to-end duration rose from 2h5m to 2h55m. Most-affected were installcheck runs, which rose from 11m to 19m. (The "check" stage uses NO_LOCALE=1, so it changed less.) From profiles, my theory is that each of the many parallel workers burns notable CPU and I/O opening its ICU collator for the first time. debug_parallel_query, by design, pursues parallelism independent of cost, so this is working as intended. If it ever matters in non-debug configurations, we might raise the default parallel_setup_cost or pre-load ICU collators in the postmaster.