NGX_POOL_ALIGNMENT
Oleg
lego12239 на yandex.ru
Вт Сен 26 08:33:50 UTC 2017
On Mon, Sep 25, 2017 at 02:44:47PM +0300, Maxim Dounin wrote:
>
> Абсолютно. Ну то есть это, безусловно, зависит от многих
> факторов, но на Линуксе со штатным аллокатором на 64-битных
> платформах - будет 16:
>
> https://www.gnu.org/software/libc/manual/html_node/Aligned-Memory-Blocks.html
>
> : The address of a block returned by malloc or realloc in GNU
> : systems is always a multiple of eight (or sixteen on 64-bit
> : systems).
Спасибо за ссылку. Похоже man для memalign забыли поправить для
64-битных процессоров.
Для общего понимания, если отвлечься от конкретно ngx_pool,
выравнивания в 8 байт для целых типов(кроме float, double и прочих
SSE/AVX) достаточно для быстрого доступа?
Например, мы выделяем большой кусок памяти и в нём уже выделяем куски
поменьше под всякие char* и выравниваем их на границы 8 байт.
--
Олег Неманов (Oleg Nemanov)
Подробная информация о списке рассылки nginx-ru