From: | "Ideriha, Takeshi" <ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com> |
---|---|
To: | "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "PostgreSQL Hackers" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, 'Robert Haas' <robertmhaas(at)gmail(dot)com>, "David Steele" <david(at)pgmasters(dot)net>, Craig Ringer <craig(at)2ndquadrant(dot)com> |
Subject: | RE: Protect syscache from bloating with negative cache entries |
Date: | 2019-02-28 08:48:41 |
Message-ID: | 4E72940DA2BF16479384A86D54D0988A6F443F43@G01JPEXMBKW04 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>From: Tsunakawa, Takayuki [mailto:tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com]
>From: Ideriha, Takeshi [mailto:ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com]
>> I measured the memory context accounting overhead using Tomas's tool
>> palloc_bench, which he made it a while ago in the similar discussion.
>> https://www.postgresql.org/message-id/53F7E83C.3020304@fuzzy.cz
>>
>> This tool is a little bit outdated so I fixed it but basically I
>> followed him.
>> Things I did:
>> - make one MemoryContext
>> - run both palloc() and pfree() for 32kB area 1,000,000 times.
>> - And measure this time
>And are you sure you didn't enable assert checking?
Ah, sorry.. I misconfigured it.
>I'm afraid the measurement is not correct. First, the older discussion below shows
>that the accounting overhead is much, much smaller, even with a more complex
>accounting.
>Second, allocation/free of memory > 8 KB calls malloc()/free(). I guess the
>accounting overhead will be more likely to be hidden under the overhead of malloc()
>and free(). What we'd like to know the overhead when malloc() and free() are not
>called.
Here is the average of 50 times measurement.
Palloc-pfree for 800byte with 1,000,000 times, and 32kB with 1,000,000 times.
I checked malloc is not called at size=800 using gdb.
[Size=800, iter=1,000,000]
Master |15.763
Patched|16.262 (+3%)
[Size=32768, iter=1,000,000]
Master |61.3076
Patched|62.9566 (+2%)
At least compared to previous HashAg version, the overhead is smaller.
It has some overhead but is increase by 2 or 3% a little bit?
Regards,
Takeshi Ideriha
From | Date | Subject | |
---|---|---|---|
Next Message | Fabien COELHO | 2019-02-28 08:54:48 | Re: get_controlfile() can leak fds in the backend |
Previous Message | Osumi, Takamichi | 2019-02-28 08:43:49 | extension patch of CREATE OR REPLACE TRIGGER |