首页 > 解决方案 > “紧凑”字节码的好处 - stack-machine VM

问题描述

首先,让我明确一点,我目前正在编写一个字节码解释器。

我一直在到处阅读有关字节码必须“紧凑”的信息。但是,我真的不明白这应该是什么意思,或者好处是什么。

目前,例如,我的“字节码”是一个元组数组,第一个元素是一个字节 - 操作码本身(8 位),第二个元素是 uint64 (人们称之为 an unsigned long long) - 操作的可选参数( 64 位)。

Tha 使每个“指令”为 72 位。(诚​​然,这是非常不必要的,因为他们中的许多人不接受任何参数,但我认为它更容易 - 并且性能更高? - 这样,因为我不必每次都检查是否有参数,只需通过指令列表)。

所以,我的问题:

标签: cstackvirtual-machinebytecodebyte-code-enhancement

解决方案


我能想到的好处:

  • 更少的内存使用
  • 更少的缓存未命中
  • 较小的实际大小(如果您想存储/部署字节码)

推荐阅读