这种分配对速度有影响吗?

时间:2019-10-09 20:58:29

标签: c++ performance draw

此非成员函数sudo npm install -g @aws-amplify/cli --unsafe-perm=true在3D空间中从顶点列表中绘制一个n边多边形。

此函数通常在正常执行期间被调用数千次,并且速度至关重要。

忽略drawPoly()中调用的函数的影响,分配25个元素的顶点数组是否会对速度产生负面影响?

drawPoly()

1 个答案:

答案 0 :(得分:1)

确定的唯一方法是测量。但是,您还能使用什么与之进行比较?在堆上分配显然要慢一些。使用全局变量来保存顶点可能是一种选择-仅用于性能基准测试。

鉴于平凡可构造对象的堆栈分配通常会转换为堆栈指针的简单更改,因此分配本身可能不会有什么大不了的。可能会产生难以观察到的效果的是触摸额外的缓存行。从性能的角度来看,代码写入的缓存行越少越好。因此,您可以尝试将vertList[25]拆分为缓存行大小的数组,然后多次调用al_draw_prim。基准将显示是否存在差异。