【发布时间】:2018-05-18 12:45:34
【问题描述】:
这需要关闭/删除,因为区别不是他们的 这是我自己的错。但我不想删除我自己的问题 因为我可以被阻止。所以如果有版主可以做到这一点 对我来说..
我希望有人能告诉我两者之间的性能差异是什么
variable == true 与 true == variable
经过一些测试,我发现true == variable 的速度几乎是variable == true 的两倍,这可能完全不相关,但我只是想知道。
但经过一些运行后,我看到以下结果:
'variableTrue == true' vs 'true == variableTrue' 的性能测试
Performance for 'variableTrue == true'
Average: 0.333442949999999 ms
Min: 0.2784 ms
Max: 7.6198 ms
Performance for 'variableTrue == false'
Average: 0.330602419999998 ms
Min: 0.2784 ms
Max: 10.2835 ms
Performance for 'true == variableTrue'
Average: 0.668567990000006 ms
Min: 0.5568 ms
Max: 7.9245 ms
Performance for 'false == variableTrue'
Average: 0.660314390000008 ms
Min: 0.5568 ms
Max: 10.5792 ms
'variableFalse == false' vs 'false == variableFalse' 的性能测试
Performance for 'variableFalse == true'
Average: 0.31614 ms
Min: 0.295 ms
Max: 0.4047 ms
Performance for 'variableFalse == false'
Average: 0.29688 ms
Min: 0.2947 ms
Max: 0.3082 ms
Performance for 'true == variableFalse'
Average: 0.74112 ms
Min: 0.5901 ms
Max: 1.9459 ms
Performance for 'false == variableFalse'
Average: 0.62093 ms
Min: 0.5895 ms
Max: 0.781 ms
Press any key to continue
我测试它的代码可以在这里找到 'variable == true' vs 'true == variable'
【问题讨论】:
-
我希望你在发布模式下编译,并在没有附加调试器的情况下执行(直接从命令行或 Visual Studio 中的 shift-F5)。微基准测试非常复杂。
-
啊,它是 sanDbox,不是 sanbbox
-
只将
variable与true或!variable进行比较而不是与false进行比较呢?在处理bool时,这将是我个人的偏好。 -
使用BenchmarkDotNet(在没有附加调试器的情况下启动,发布,从控制台)
-
@xanatos 这是没有调试刚刚启动的 exe 本身
标签: c# performance