【发布时间】:2014-03-11 17:54:33
【问题描述】:
许多程序员警告我不要使用平方根函数,而是将数字提高到一半的幂。我的问题是双重的:
这样做有什么感知/实际性能优势?为什么更快?
如果真的更快,为什么还存在平方根函数?
【问题讨论】:
-
提升到 1/2 也一样慢,它们都只是
exp(ln(x)/2)。 -
你的测试显示了什么?
-
这听起来像“不要加减 1。相反,加负 1”
-
您的第一条规则应该始终是编写清晰、可维护且有意义的代码。如果您没有性能问题,请不要担心性能。如果您确实有性能问题,那么第一步应该始终是配置您的应用程序。完成此操作并确定热点后,您就可以开始担心可以采取哪些措施来修复它们。如果您已经到了那个时候,那么将
sqrt换成pow并直接发现您的情况变得多么糟糕,那么您将毫无问题。 -
J. 的 cmets 非常好。我希望可以给予信用。
标签: c# vb.net math operator-keyword square-root