using System;
namespace ConsoleApplication1
{
class TestMath
{
static void Main()
{
double res = 0.0;
for(int i =0;i<1000000;++i)
res += System.Math.Sqrt(2.0);
Console.WriteLine(res);
Console.ReadKey();
}
}
}
Сравнивая этот код с версией на С++, я обнаружил, что производительность в 10 раз медленнее, чем версия С++. У меня нет проблем с этим, но это привело меня к следующему вопросу:
Кажется (после нескольких поисков), что JIT-компилятор не может оптимизировать этот код, как может сделать компилятор С++, а именно просто вызвать sqrt один раз и применить к нему * 1000000.
Есть ли способ заставить JIT сделать это?