我在一些64位Java VM实现中读过一些关于压缩对象指针的内容。据我所知,原理是将引用存储为从一个对象到另一个对象的相对32位地址偏移,而不是整个64位指针,以获得内存。
我认为这种优化目前尚未应用于.NET CLR。至少我找不到任何关于它的东西。它是否可能被应用于它,或者由于CLR内部如何工作,这将是一个不可能/无用/性能降低的优化?
答案 0 :(得分:0)
虽然我不确定你是否可以在.NET中做这样的事情,64位机器通常有大量的内存(一般是4或8G),所以节省几个4字节不会有太大影响。我认为它“不是很有用”。
一个快速的谷歌没有向我展示.NET能够支持的任何迹象(甚至对指针压缩/ ORA感兴趣)。