Re: Question on alignment
От | Antonin Houska |
---|---|
Тема | Re: Question on alignment |
Дата | |
Msg-id | 13579.1554477951@localhost обсуждение исходный текст |
Ответ на | Re: Question on alignment (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Tom Lane <tgl@sss.pgh.pa.us> wrote: > Antonin Houska <ah@cybertec.at> writes: > > Antonin Houska <ah@cybertec.at> wrote: > >> Since palloc() only ensures MAXIMUM_ALIGNOF, that wouldn't help here anyway. > > > After some more search I'm not sure about that. The following comment > > indicates that MAXALIGN helps too: > > Well, there is more than one thing going on here, and more than one > level of potential optimization. On just about any hardware I know, > misalignment below the machine's natural word width is going to cost > cycles in memcpy (or whatever equivalent the kernel is using). Intel > CPUs tend to throw many many transistors at minimizing such costs, but > that still doesn't make it zero. On some hardware, you can get further > speedups with alignment to a bigger-than-word-width boundary, allowing > memcpy to use specialized instructions (SSE2 stuff on Intel, IIRC). > But there's a point of diminishing returns there, plus it takes extra > work and more wasted space to arrange for anything to have extra > alignment. Thanks for this summary. > So we generally only bother with ALIGNOF_BUFFER for shared buffers. ok, I'll consider this a (reasonable) convention. -- Antonin Houska Web: https://www.cybertec-postgresql.com
В списке pgsql-hackers по дате отправления: