【发布时间】:2014-03-24 21:12:59
【问题描述】:
只是为了好奇,哪个过程最快:将值设置为布尔值(例如:将其从 true 更改为 false)或简单检查其值(例如:if(boolean)...)
【问题讨论】:
-
看一下编译器生成的代码
-
@faranwath:这本身就是一个问题,即知道在哪里寻找并知道要寻找什么并不是一项小任务。
-
你的意思是在
foo = true;和if (!foo) foo = true;之间? -
@Khnle-KevinLe 哦,好吧,一个简单的小程序同时做这两件事怎么样?这不难!
-
@faranwath 实际上,进行基准测试并从中获得有用的结果非常困难。您想专注于一件特定的事情,但您需要包含足够的脚手架,编译器不会将其全部优化。您想要一个代表性基准,但您不想编写整个应用程序。您需要注意影响计时的几十种噪音,并且您需要减轻它们。而且一旦你有正确的测量数据,如果你不验证你的结论,你仍然可以从中得出错误的结论。
标签: c++ performance boolean