【发布时间】:2010-11-20 13:02:01
【问题描述】:
.NET 框架的数学函数主要在双精度浮点数上运行,没有单精度 (float) 重载。在高性能场景中处理单精度数据时,这会导致不必要的强制转换,并且计算的函数的精度也高于所需的精度,因此在一定程度上会影响性能。
有什么办法可以避免这种额外的 CPU 开销?例如。是否有一个带有浮点重载的开源数学库,可以直接调用底层 FPU 指令? (我的理解是这需要 CLR 的支持)。实际上我不确定现代 CPU 是否有单精度指令。
这个问题的部分灵感来自这个关于优化 sigmoid 函数的问题:
【问题讨论】:
标签: .net math mathematical-optimization