如何在设计C++程序时减少可能的缓存未命中数?
内联函数每次都有帮助吗?或者只有当程序是CPU限制的时候才是好的(即程序是面向计算而不是面向I/O)?
是否符合C++ 11标准(或者,如果不符合,至少通常可接受)的方式来确定地址是否与缓存行边界对齐?
像这样的事情:
T* p = SOMETHING;
bool aligned = reinterpret_cast< std::uintptr_t > (p) % CACHE_LINE_SIZE == 0;
Run Code Online (Sandbox Code Playgroud)