在C#中使用pragma intrinsic(sqrt,pow)?

Bri*_*ham 5 c# c++ pragma intrinsics c-preprocessor

C++摘要

使用#pragma intrinsic代码预处理器部分中的命令将大大提高大多数数学函数调用的速度.

#pragma intrinsic(sqrt, pow)
Run Code Online (Sandbox Code Playgroud)

上面的代码允许大多数数学函数调用直接发送到数学协处理器而不是发送到函数堆栈.

题

有没有办法在C#中做到这一点?除了重写内置函数以做类似的事情.例如,通常使用2的幂,所以这是合适的,但它不是我想要的:

public double Pow2(double value)
{
    return (value * value);
}
Run Code Online (Sandbox Code Playgroud)

pau*_*sm4 3

C# 不应该需要“#pragma inside”,因为:

从 C# 访问数学协处理器

JIT 编译器了解数学协处理器并会使用它。

  • @Dark:如果有一种通用的方法来加速数学计算,那么编译器已经在这样做了。剩下的就是针对特定问题的优化。首先,您应该使用分析器并找出程序中真正的慢速区域。 (2认同)