栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java Math.pow(x,2.0)与Math.pow(x,2.0000001)性能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Math.pow(x,2.0)与Math.pow(x,2.0000001)性能

尽管投票不公平,但这个问题还是有道理的,因为它揭示了真正的JVM错误。

当您运行Oracle JDK时

Math.pow(x, 2.0)
,JVM版本之间的性能差异很大。

  • 在JDK 7u40
    Math.pow
    使用软件实现之前,即它简单地称为__ieee754_pow函数,用于模拟软件中的操作。速度很慢,但是对于y == 2确实有特殊情况。
  • 自从JDK 7u40
    Math.pow
    成为JVM固有的功能以来,JIT将其转换为FPU指令。但是,通过这种优化,特殊情况已经丢失,导致y == 2的性能下降,请参见Bug JDK-8029302。
  • 这种性能下降已在JDK 8u25和即将发布的7u80中修复。由于JDK 8u25
    Math.pow
    对于所有值都足够快地工作,但是对于y == 2则非常快。请参阅相关问题。

PS

Math.pow
用不同版本的JDK在我的计算机上100M调用的大概时间(以秒为单位)。

  Math.pow(x, 2.0)    Math.pow(x, 2.0000001)JDK 7u25 3.0     30.4JDK 7u4011.1     11.1JDK 8u40 0.1     11.1


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415751.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号