- 主题:jvm 为啥选择栈虚拟机而不是寄存器虚拟机?
基于寄存器虚拟机编译出来的指令码更短小一些,更加适合移动端
【 在 hgoldfish 的大作中提到: 】
: 不论是 python vm 还是 java vm,为啥当初会选择栈虚拟机?
: 但 google 的 android runtime 虚拟机选择的却是寄存器虚拟机?
: 这俩有啥特别的考虑吗?
--
FROM 114.240.232.*
栈处理器单条指令短,但是指令数量多得多,整体上看编译结果体积更大
【 在 BigCarrot 的大作中提到: 】
: 反了
: 栈处理器的代码更小
:
--
FROM 114.240.232.*
照你这么说,android 应该用栈式虚拟机
【 在 BigCarrot 的大作中提到: 】
: 说的就是最终的指令大小
: 如果你能翻墙的话,读一读维基上的stack machine
: 另外楼主要的stack machine VS register machine 在那片文章里面也有
: ...................
--
FROM 111.206.96.*
栈虚拟机并不会比寄存器虚拟机慢,dalvik性能比jvm好,是因为针对移动设备做了优化
【 在 BigCarrot 的大作中提到: 】
:
: 不,android觉得jvm的栈虚拟机太慢了,就改成了寄存器
:
: google search ai也是这么看的
: Android chose Dalvik as its virtual machine (VM) for a number of reasons, includ
: ..................
发自「今日水木 on ELS-AN00」
--
FROM 114.240.232.*