小编Stu*_*ude的帖子

可以通过消除> =比较的需要,对无符号整数进行类型惩罚,使得边界检查更快吗?

假设我的程序中有一个非常性能关键的循环,我需要检查一个点是否在矩形内,但我知道在编译时下限始终为0,如下所示: (x >= 0 && y >= 0 && x < width && y < height)

我可以消除前两个比较的类型双关x和y的无符号整数(例如喜欢的东西reinterpret_cast<>()union用C++),因为符号位将保证任何负数会变成一个unsigned int足够大的失败边界检查?如果是这样,您将如何用C++或其他语言实现它?这样做可以获得任何性能提升吗?

c++ int performance type-punning integer-arithmetic

12
推荐指数
1
解决办法
513
查看次数

标签 统计

c++ ×1

int ×1

integer-arithmetic ×1

performance ×1

type-punning ×1