Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Justin Pryzby <pryzby@telsasoft.com>, David Rowley <dgrowleyml@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-11T11:51:53Z
Lists: pgsql-hackers
Em qui., 11 de ago. de 2022 às 08:48, Alvaro Herrera <
alvherre@alvh.no-ip.org> escreveu:
> On 2022-Aug-11, Ranier Vilela wrote:
>
> > According to:
> > https://interrupt.memfault.com/blog/c-struct-padding-initialization
>
> Did you actually read it?
>
Yes, today.
>
>
> https://interrupt.memfault.com/blog/c-struct-padding-initialization#structure-zero-initialization
>
> : This looks great! However, it’s not obvious (from looking at those
> snippets)
> : what the value loaded into the padding region will be.
> :
> : The unfortunate answer is: it depends
> :
> : The C11 standard, chapter §6.2.6.1/6 says this:
> :
> : : When a value is stored in an object of structure or union type,
> including in a
> : : member object, the bytes of the object representation that correspond
> to any
> : : padding bytes take unspecified values.
>
Did you see the Strategy 3 table, { 0 } ?
regards,
Ranier Vilela
Commits
-
Replace many MemSet calls with struct initialization
- 9fd45870c143 16.0 landed
-
Change some unnecessary MemSet calls
- 258f48f858b0 16.0 landed
-
Avoid unnecessary MemSet call
- 8cd61d288adf 16.0 landed