1
2
假设您使用的是32位体系结构,并且glgloat被类型化为32位浮点型此结构
将消耗8字节的内存。然后,如果我正确理解了这一点,pts将指向一个单独的分配,该分配将具有2个或3个glfloat,即8或12字节的内存。这是两个分配中的16或20个字节。虽然这
总是16字节,加上一个更少的失败点,因为它是一个分配而不是两个。 所以,即使您的分配器开销为零(而它没有)。将3个glfloat放入coordnode(即使您只使用其中的2个)比将glfloat数组作为单独的分配要少一些内存。另外,如果将此分配为单个分配,则可以获得更好的缓存一致性,这在大多数情况下都会转化为更好的性能。 可以对其他结构执行相同的分析。
我要说的另一件事是如果你总是把
如果有一天您将glfloat改为double或改为64位体系结构,那么您的指针将不再与glfloat大小相同。在这种情况下,最好使用内存将浮点数和指针组合在一起。
|
Hatsune Miku · 比较或if语句是否更快[已关闭] 1 年前 |
Black Swan · 无法解压缩的值太多(应为2)错误 1 年前 |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |
Balfar · 处理NumPy阵列上的循环最有效的方法是什么? 2 年前 |
Daniel · C#轻松存储快速访问的大型位矩阵 6 年前 |
halbe · 优化音频DSP程序的numpy计算 6 年前 |
Afsara · 是否有任何方法不能优化我们的应用程序? 6 年前 |