Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, David Zhang <david(dot)zhang(at)highgo(dot)ca>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Date: 2022-08-24 19:20:15
Message-ID: CAEudQAoGk4onWzxaUR86hQ79AokV7p+MZixK650bn+91gYAkEg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Em qua., 24 de ago. de 2022 às 16:00, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> escreveu:

> Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> writes:
> > On 24.08.22 16:30, Alvaro Herrera wrote:
> >> If you do this, you're creating a potential backpatching hazard. This
> >> is OK if we get something in return, so a question to ask is whether
> >> there is any benefit in doing it.
>
> > I don't follow how this is a backpatching hazard.
>
> Call me a trogdolyte, but I don't follow how it's an improvement.
> It looks to me like an entirely random change that doesn't get rid
> of assumptions about what the bits are, it just replaces one set of
> assumptions with a different set. Moreover, the new set of assumptions
> may include "there are no padding bits in here", which is mighty fragile
> and hard to verify. So I frankly do not find this a stylistic improvement.
>
But, these same arguments apply to Designated Initializers [1].

like:
struct foo a = {
.i = 0,
.b = 0,
};

That is slowly being introduced and IMHO brings the same problems with
padding bits.

regards,
Ranier Vilela

[1] https://interrupt.memfault.com/blog/c-struct-padding-initialization

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-08-24 19:41:19 Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Previous Message Robert Haas 2022-08-24 19:19:35 Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)