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

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Дата
Msg-id CAEudQAoU95aq_MD3G4vV7P7m52iXO9GQEairPnLTDM+bqzxtQw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Ответы Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-hackers
Em qua., 18 de mai. de 2022 às 10:52, Peter Eisentraut <peter.eisentraut@enterprisedb.com> escreveu:
On 18.05.22 01:18, Justin Pryzby wrote:
> Take the first one as an example.  It says:
>
>          GenericCosts costs;
>          MemSet(&costs, 0, sizeof(costs));
>
> You sent a patch to change it to sizeof(GenericCosts).
>
> But it's not a pointer, so they are the same.

This instance can more easily be written as

     costs = {0};
That would initialize the content at compilation and not at runtime, correct?
And we would avoid MemSet/memset altogether.

There are a lot of cases using MemSet (with struct variables) and at Windows 64 bits, long are 4 (four) bytes.
So I believe that MemSet is less efficient on Windows than on Linux.
"The size of the '_vstart' buffer is not a multiple of the element size of the type 'long'."
message from PVS-Studio static analysis tool.

regards,
Ranier Vilela

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Следующее
От: Jan Wieck
Дата:
Сообщение: Re: Limiting memory allocation