
1 johnsonshu 2020 年 1 月 19 日 via iPhone 一次编译 到处运行? |
2 wysnylc 2020 年 1 月 19 日 因为要加快效率,不是执行效率是开发效率 |
3 tt67wq 2020 年 1 月 19 日 @johnsonshu 一次编译 到处调试 |
4 lyog 2020 年 1 月 19 日 via iPhone 因为加个虚拟机可以消除各个平台之间的差异化 |
5 712e1959 2020 年 1 月 19 日 via Android “通过虚拟机的方式和直接解释的有什么区别?” 区别不就是你得先编译一下嘛…… |
6 hoyixi 2020 年 1 月 19 日 计算机技术世界,2 大“绝技” 1 空间换时间 2 加一“层” |
7 charlie21 2020 年 1 月 19 日 一切 “为什么要有 xxx ” 那就是 去想 “没有 xxx ” 会怎样。 哎呀妈呀 |
8 penguinWWY 2020 年 1 月 20 日 个人看法 1、先说第二点,虚拟机和解释器没啥区别,硬要说不同,那就是针对 opcode 除了解释执行外还有 AOT 和 JIT,所以 vm 可以看做是针对 opcode 的 runtime ( AOT + JIT + Interpreter )的统称,也就是直接面对 opcode 的抽象概念。CPython 叫 Interpreter,如果它加了 Jit,或者本来就有 JIT 的 PyPy,把他们叫做 Python VM 也没啥毛病。 2、除了统一平台,有了 VM 可以做跟多的事情,有些事情可以做的更好,当然也有些事情会更差。做的更好的事情最直观的就是可以带牛逼的 GC,除此之外还有 Virtual Inline,PGO,LTO,以及十分牛逼的 Partial Evaluation,这些 AOT 做起来很麻烦的事情,在有 VM 的情况下属于家常便饭,当然也有做的更烂的比如启动时间,比如要命的 Interproducer Analysis。这就看各种语言的取舍了 |
9 pythonee 2020 年 1 月 20 日 |