java - 使用结构/类来增加缓存空间局部性?

标签 java c++ performance caching

如果有人说 1000 行计算机代码,而不是独立声明变量,而是将它们组合在一起(显然这确实取决于所使用的变量大小)到类和结构中,这会直接增加缓存空间局部性吗(从而降低缓存未命中率)?

我的印象是通过在类/结构中关联变量,它们会被分配连续的内存地址?

最佳答案

如果您谈论的是方法局部变量,它们在堆栈上已经是连续的,或者严格地说在激活记录中,它们几乎总是在堆栈上。如果您谈论的是对 Java 对象的引用,或指向动态分配的 C++ 对象的指针,将它们放入包含类中不会有任何区别,原因是:相关对象仍将位于堆中的任意位置。

关于java - 使用结构/类来增加缓存空间局部性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10368906/

相关文章:

java - 无锁 CAS 混淆

java - 是否可以在自定义 PreAuthorize 方法中获取 RequestMethod-verb?

javascript - 跨网站缓存Javascript库

java - 使用不同端口与 Java 进行 SSH 连接

java - Paypal 添加到购物车按钮 - 如何用 Java 生成?

c++ - std::thread对象构造过程中的细节

c++ - 如何在 C++ 中获取 linux 命令输出字符串和输出状态

c++ - 在具有不同模板参数的列表项上调用参数化方法

c - 使用结构体和变量作为函数的输入参数之间的速度差异

mysql - 如何在mysql中获取这个特定的用户排名查询?