首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JVM字节码指令Tload_<n>与Tload

JVM字节码指令Tload_<n>与Tload
EN

Stack Overflow用户
提问于 2013-03-15 09:19:18
回答 1查看 68关注 0票数 2

我最近一直在研究JVM字节码,我想知道重构性能关键代码以利用Tload_指令(aload_0、aload_1、aload_2等)而不是两个操作数Tload指令是否会带来明显的性能好处?

这完全属于“你永远不会需要的微优化”的类别,但可以把它看作是学术上的好奇。如果一个方法可以将它的局部变量表保持在7个条目以下,那么有什么性能优势(如果有的话)可以体现出来?我在想,这可能只会导致字节码变得更小。

有关字节码级别优化的阅读材料的高质量链接的加分!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-15 09:28:03

出现短负载的主要原因是Java字节码的最初用途。最初,该语言是为机顶盒设计的,并且被设计得尽可能紧凑,因此,为了节省RAM/ROM,人们认为有必要使用常用指令的特殊简短版本。

在解释器中,还有一个微不足道的性能优势,即解释器例程可以通过内置的必要偏移量单独编码。

但是,在JITCed代码中没有区别--所有的操作都将合并到相同的逻辑中,这可能会利用较短的机器指令来实现较短的偏移量,但不会与较短的字节代码处于相同的边界。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15423111

复制
相关文章

相似问题

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