似乎posix_memalign
讓你選擇定製的alignment
,但是什麼時候有必要?我們什麼時候需要使用posix_memalign而不是malloc?
malloc
已經在內部完成了對齊工作。
UPDATE
的確切原因,我問這個是因爲我看到nginx的做到這一點,ngx_memalign(NGX_POOL_ALIGNMENT, size, log);
,這裏NGX_POOL_ALIGNMENT
定義爲16
,nginxs.googlecode.com/svn-history/trunk/src/core/ngx_palloc.c
@ Dirk,似乎這並沒有回答**當我們需要**。 –
更多示例:SIMD類型可能需要比'malloc'提供的更多對齊方式。如果代碼使用性能高的技巧,可能需要與高速緩存行大小相對應的對齊方式 - 如果您正在編寫動態鏈接器(即將代碼加載到內存中的代碼),那麼您正在加載的代碼可能需要其功能與緩存行邊界對齊。 –
@Steve Jessop,如果'16 * 1024'的內存大小和'16'而不是默認的'8'對齊,我們會受益嗎? –