aho*_*der 29 memory floating-point performance android
当预先形成arithimic(+ - */%)时,哪个是更快,双倍还是浮动,并且为了内存的原因值得使用float吗?精度不是一个问题.
即使想到这一点,也要随意叫我疯了.只是好奇,因为我看到我正在使用的花车数量越来越大.
编辑1:这是在android下的唯一原因是因为这是我认为记忆很重要的地方; 我甚至不会问这个桌面开发.
小智 15
ADT v21 lint消息建议使用Double而不是Float,因为来自Froyo的Dalvik中的JIT(及时)优化(API 8及更高版本).
我正在使用FloatMath.sin,它在"解释问题"上下文菜单下使用以下内容建议使用Math.sin.它对我来说就像是关于double vs float而不仅仅是trig相关的一般消息.
"在旧版本的Android中,出于性能原因推荐使用android.util.FloatMath进行浮点运算.然而,在现代硬件上,双精度与浮动速度一样快(尽管它们需要更多内存),而在最新版本的Android中,由于JIT优化java.lang.Math的方式,FloatMath实际上比使用java.lang.Math慢.因此,如果你只针对Froyo及以上,你应该使用Math而不是FloatMath."
希望这可以帮助.
我不建议快速操作,但我相信对浮点数的操作会更快,因为它们是32位而不是64位双打.
http://developer.android.com/training/articles/perf-tips.html#AvoidFloat
避免使用浮点
根据经验,浮点数比Android设备上的整数慢约2倍.
在速度方面,更现代的硬件上浮动和双重没有区别.在空间方面,双倍大2倍.与桌面计算机一样,假设空间不是问题,您应该更喜欢双重浮动.
此外,即使对于整数,一些处理器也有硬件倍增但缺乏硬件鸿沟.在这种情况下,整数除法和模数运算在软件中执行 - 如果您正在设计哈希表或进行大量数学运算,则需要考虑.