相关疑难解决方法(0)

将数据保存在缓存中的技术,地点?

对于超快速代码,我们必须保持引用的位置 - 在CPU缓存中保留尽可能多的密切使用的数据:

http://en.wikipedia.org/wiki/Locality_of_reference

有哪些技术可以实现这一目标?人们能举例吗?

我对Java和C/C++示例感兴趣.有趣的是知道人们用来阻止大量缓存交换的方式.

问候

c c++ java performance caching

10
推荐指数
2
解决办法
9507
查看次数

我可以在java中连续分配对象吗?

假设我有一大堆相对较小的对象,我需要经常迭代.
我想通过提高缓存性能来优化我的迭代,所以我想在内存上连续分配对象 [而不是引用],这样我就可以减少缓存未命中数,并且整体性能可能会更好.

在C++中,我可以只分配一个对象数组,它会按照我的意愿分配它们,但在java中 - 在分配数组时,我只分配引用,并且一次只分配一个对象.

我知道如果我"一次"分配对象[一个接一个],jvm 最有可能将对象分配为尽可能连续,但如果内存是碎片的话可能还不够.

我的问题:

  1. 有没有办法告诉jvm在开始分配对象之前对内存进行碎片整理?是否足以确保[尽可能]连续分配对象?
  2. 这个问题有不同的解决方案吗?

java memory performance caching garbage-collection

6
推荐指数
1
解决办法
4071
查看次数

标签 统计

caching ×2

java ×2

performance ×2

c ×1

c++ ×1

garbage-collection ×1

memory ×1