首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单个Java的执行时间有多大的差异?

单个Java的执行时间有多大的差异?
EN

Stack Overflow用户
提问于 2014-07-11 13:32:37
回答 2查看 305关注 0票数 0

理想情况下,每一个字节码的cpu周期都会显示这一点,尽管我在这个主题上找不到多少。

编辑:如果我有一个程序可以通过两种不同的方式进行优化,而每种优化都会减少每个变体程序执行的字节码,那么这两种优化都不能与此度量分开。

但是,在JVM上运行时,每个字节码中的5个字节码可能转化为完全不同的性能特征(假设JVM在测量两个程序时的行为尽可能相似)。

这两个优化的变体程序需要有多少字节码才能合理地确定其中一个程序的性能优于另一个程序?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-11 15:01:39

任意大。

即使您只考虑在单个处理器上运行的单个VM实现,由于使用的是及时编译,也会有很大的差异。VM不需要一个一个地执行字节码操作。相反,它分析它,优化它们,并将其编译成本机代码。因此,字节码与执行时间之间不一定存在任何对应关系。

票数 1
EN

Stack Overflow用户

发布于 2014-07-11 15:03:15

这毫无意义。执行任何字节码都需要相当长的时间.没人真的应该关心。时间紧迫的代码被编译成本机指令,然后与字节码没有对应关系,您可以说iload_1需要多长时间。

多个字节码通常被编译成单个HW指令,一些字节码可能被编译成多个HW指令,但通常很难判断会发生什么(例如,不是3个字节码,而是5个HW指令)。

然后我们讨论了HW指令的定时问题,这个问题可能更复杂:

  • 多条(通常是4条)指令可以并行执行。
  • 由于数据依赖关系,某些指令可能会被阻塞。
  • 他们被处决了杂乱无序
  • 等等..。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24699014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档