Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将常数指定给变量会导致2个负载?_C#_.net_Performance_Profiling - Fatal编程技术网

C# 将常数指定给变量会导致2个负载?

C# 将常数指定给变量会导致2个负载?,c#,.net,performance,profiling,C#,.net,Performance,Profiling,这是在C#中完成的,使用的分析器是英特尔Vtune。在版本配置中编译的代码。 以下代码行: _smalestRangeSq = float.MaxValue; 其中_smalestRangeSq是一个类字段,结果如下 movss xmm0, dword ptr [rip+0x9ee] movss dword ptr [rsi+0x58], xmm0 而且很明显,它会消耗大量的时间在商店里表演。有人能给我解释一下原因吗?应用程序的大部分时间都花在哪里了?看

这是在C#中完成的,使用的分析器是英特尔Vtune。在版本配置中编译的代码。 以下代码行:

_smalestRangeSq = float.MaxValue;
其中_smalestRangeSq是一个类字段,结果如下

movss xmm0, dword ptr [rip+0x9ee]                   
movss dword ptr [rsi+0x58], xmm0

而且很明显,它会消耗大量的时间在商店里表演。有人能给我解释一下原因吗?

应用程序的大部分时间都花在哪里了?看起来x86 JIT做得更好:
mov dword ptr ds:[0EFCC24h],7F7FFFFFh
登录值类型通常会创建对象的新副本并将其签名到操作数。运算符的右边是变量或常量时没有区别。@mehrdadsaf如果您的语句为false,则按原样使用
const
字段中的值,这与
静态只读
字段非常不同
float.MaxValue
const
,它的用法与直接在源代码中编写
(float)3.40282346638528859e+38
的用法相同。它真的是应用程序花费大部分时间的地方吗?看起来x86 JIT做得更好:
mov dword ptr ds:[0EFCC24h],7F7FFFFFh
登录值类型通常创建对象的新副本并将其签名到操作数。运算符的右边是变量或常量时没有区别。@mehrdadsaf如果您的语句为false,则按原样使用
const
字段中的值,这与
静态只读
字段非常不同
float.MaxValue
const
,其用法与直接在源代码中编写
(float)3.40282346638528859e+38
相同。