我的问题是关于二元运算符的性能(执行时间/基准),我们可以举例说明执行a + b
比a % b
更快。
我的问题不仅限于那些运算符(+和%),还包括:
答案 0 :(得分:3)
FUZxxl回答的几个补充:
答案 1 :(得分:2)
这些运营商的表现取决于平台。如果用“慢”运算符表示的操作可以用“快速”运算符实现,通常可以期望编译器选择它并发出快速代码。不要使用“更快”的操作数,因为有人告诉你,如果没有基准测试,他们会更快。
一般来说,运营商可以按照以下比例大致分类:
a[b]
之前的解除引用之前的加法通常是免费的。一元+
也是免费的。+
,-
,<<
,>>
,&
,|
,{{1 },一元^
,-
,在整数类型或指针之间进行转换,如果结果未以数字方式使用:~
,!
,<
,{ {1}},>
,<=
,>=
,!=
&&
,浮点操作数:二进制||
,*
+
,-
/
,%
您的里程可能会有所不同,不要依赖此表,基准时会有疑问。