我一整天都在分析一个应用程序,在优化了几个代码后,我的待办事项清单上就剩下这个了。这是一个神经网络的激活函数,它被调用了超过1亿次。根据dotTrace的说法,它相当于整个功能时间的60%左右。
您将如何优化此功能?
public static float Sigmoid(double value) {
return (float) (1.0 / (1.0 + Math.Pow(Math.E, -value)));
}发布于 2009-01-05 01:05:56
在1亿次调用时,我会开始怀疑分析器的开销是否会影响结果。将计算结果替换为no-op,看看是否仍报告消耗了60%的执行时间……
或者更好的是,创建一些测试数据,并使用秒表计时器来分析大约一百万个呼叫。
https://stackoverflow.com/questions/412019
复制相似问题