Мои попытки работают ужасно, даже без дженериков. Может ли кто-нибудь подсказать мне, как я могу сделать это быстрее, если это вообще возможно, на C#?
Я использовал
Код: Выделить всё
public readonly struct MyDouble
{
public readonly double Value;
public MyDouble(double value)
{
Value = value;
}
public static MyDouble operator +(MyDouble self, MyDouble value)
{
return new MyDouble(self.Value + value.Value);
}
public static MyDouble operator *(MyDouble self, double value)
{
return new MyDouble(self.Value * value);
}
}
Я думал, что это просто вопрос присоединения, но добавление к операторам атрибутов MethodImpl.AggressiveInlining совершенно не помогло.
Я проверил низкую производительность с помощью модульных тестов а также использование Dottrace JetBrain в производственных проектах.
Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-csharp