当前位置: 首页 > 面试题库 >

x * x vs Math.pow(x,2)Java性能

曾喜
2023-03-14
问题内容

我已经对Java中的x * x或Math.pow(x,2)更快进行了一些测试。我原本以为简单的x * x会更快一些,但是事实证明它的速度差不多相等。有人可以启发我吗,那怎么可能?


问题答案:

就您所知,它完全是JITted(甚至已经在编译时)了。由于没有真实的上下文,此类微基准很少会提供非常有用的结果。

绝对不是一个彼此优先的理由,因为现实世界中的代码很少有简单的x^2操作作为性能热点。



 类似资料:
  • 以下Python3.x整数乘法的平均运算时间在1.66s到1.77s之间: 如果将替换为,则需要在和之间。怎么会呢? 另一方面,在Java中则相反:在Java中更快。Java测试链接:为什么在Java中2*(i*i)比2*i*i快? 我运行每个版本的程序10次,以下是结果。

  • 问题内容: 我正在尝试比较和的性能,尽管那会快得多,但它们的速度相同。我什至通过运行带有参数的jar来删除JIT优化。 知道为什么吗?非常感谢! 问题答案: 尽管投票不公平,但这个问题还是有道理的,因为它揭示了真正的JVM错误。 当您运行Oracle JDK时,JVM版本之间的性能差异很大。 在JDK 7u40 使用软件实现之前,即它简单地称为__ieee754_pow函数,用于模拟软件中的操作。

  • Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。 Rancher 2.X 架构 Rancher API Server : 基于 Kubernetes API Server 扩展构建,通过 K8s 标准的自定义资源对象扩展和各种自定义控制器实现对底层 Kubernetes 集群和各种资源的扩展和纳管 Authenti

  • rspec-2.x 是一个 meta-gem,依赖于其他组件:rspec-core, rspec-expectations 和 rspec-mocks 。每个组件都可以使用 gem 命令独立安装和运行。

  • 问题内容: 我已经回顾了关于Struts 1 vs 2的几个问题,但是似乎没有一个人以我的观点来回答这个问题。 我将开始着手构建一个新系统,对一个非常老的桌面应用程序进行彻底的重新设计。目标是使其成为基于Web的网站,添加更多功能,使其更易使用等(通常的重新设计原因)。 将要开发该系统的团队主要是Java开发人员,并且在过去5年中广泛地研究了Struts1.x。 该系统打算使用很多年,因此,当一个

  • 打算升级旧版本Jekyll?那么在3.0版本中有一些变化,您需要首先了解一下。 在我们开始动手之前,请先获取最新版本的 Jekyll: $ gem update jekyll 注意:安装Jekyll 3需要 >= 2.0.0 版本的Ruby。 立即开始 想快速构建并运行一个全新的 Jekyll 站点吗?只需要执行 jekyll new SITENAME 就可以轻松创建一个包括了Jekyll网站框架