我目前正在编写一个用于读取OBJ文件的API。在这个API中,我有一个向量列表和一个描述一个面的类(3个向量)。
我想考虑内存使用情况,所以我想知道对于face来说,记住向量数组中向量的索引是最聪明的,还是应该只有一个向量的指针/实例。
同样,在C#中也会有同样的效果吗?
发布于 2014-05-25 05:28:27
对象,引用is either 32 or 64 bits an An integer (which your index would be) is 32 bits is a minimum of 64 bits plus its internals。因此,整数的大小与引用的大小相同或略小。但对象的副本要大得多
数组或引用的索引
但说真的,您不应该担心引用数组的索引,除非有数量惊人的引用,并且您的内存非常匮乏。当然,这种间接性也会带来很小的性能损失。做任何在概念上最有意义的,但你可能想坚持引用,而不是索引到一个数组,如果两者在概念上有意义-非常相似的内存占用和更简单的结构。
向量副本
当然,第三种选择是保留对向量副本的引用,这将涉及每个副本的对象的全部内存,除非您需要独立的对象,否则值得避免
https://stackoverflow.com/questions/23849758
复制相似问题