Re: Big Performance drop of Exceptions in UDFs between V11.2 and 13.4 - Mailing list pgsql-performance

From Ranier Vilela
Subject Re: Big Performance drop of Exceptions in UDFs between V11.2 and 13.4
Date
Msg-id CAEudQArgywSbE18vBqKekZHdspyuLzYWTZ0O2uR2ZRJDACBndA@mail.gmail.com
Whole thread Raw
In response to Re: Big Performance drop of Exceptions in UDFs between V11.2 and 13.4  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-performance
Em qui., 2 de set. de 2021 às 12:22, Andrew Dunstan <andrew@dunslane.net> escreveu:

On 8/31/21 1:55 PM, Andrew Dunstan wrote:
> On 8/31/21 11:37 AM, Julien Rouhaud wrote:
>> On Tue, Aug 31, 2021 at 10:51 PM ldh@laurent-hasson.com
>> <ldh@laurent-hasson.com> wrote:
>>> OK... I thought that track had been abandoned as per Julien's last message. Anyways, I'll be patient!
>>>
>> I just happened to have both standard installer and locally compiled
>> versions available, so I could confirm that I reproduced the problem
>> at least with the standard installer.  Note that my message also said
>> " if default build on windows has NLS included".  After looking a bit
>> more into the Windows build system, I confirm that NLS isn't included
>> by default so this is not the problem, as Andrew said.
>>
>> After installing gettext and a few other dependencies, adapting
>> config.pl I wish I could also confirm being able to reproduce the
>> problem on my build, but apparently I'm missing something as I can't
>> get any modification in config.pl have any effect.  I'm not gonna
>> waste more time on that since Andrew is already in the middle of the
>> investigation.
>
>
> The culprit turns out to be the precise version of libiconv/libintl
> used. There is a slight difference between the versions used in the
> 11.13 installer and the 13.4 installer. We need to dig into performance
> more (e.g. why does the test take much longer on an NLS enabled build
> even when we are using 'initdb --no-locale'?) But I'm pretty confident
> now that this is the issue. I've started talks with our installer guys
> about fixing it.
>
>


Here are a couple of pictures of profiles made with a tool called
sleepy. The bad profile is from release 13.4 built with the latest
gettext, built with vcpkg. The good profile is the same build but using
the intl-8.dll copied from the release 11.13 installer. The good run
takes about a minute. The bad run takes about 30 minutes.


I'm not exactly sure what the profiles tell us.
Bug in the libintl?

libintl doesn't cache untranslated strings


regards,
Ranier Vilela

pgsql-performance by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: Big Performance drop of Exceptions in UDFs between V11.2 and 13.4
Next
From: Andrew Dunstan
Date:
Subject: Re: Big Performance drop of Exceptions in UDFs between V11.2 and 13.4