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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить