什么比代码大小更好:编译器或解释器?

时间:2015-08-27 21:15:53

标签: compilation interpreter

哪个代码往往更小?

  1. 真机代码(Ada,C,C ++,Fortran等)

  2. 由解释器或伪代码编译器(Java,Python,Perl等)生成的伪代码

2 个答案:

答案 0 :(得分:1)

很多年前,MS使用特定的p代码生成MSVC ++版本(非.NET,这是旧时代),其传播方式小于x386代码。 Idea没有直接延续。后来是Sun Java,MS Java演变为J#,然后是.NET

答案 1 :(得分:1)

目前已知的最紧凑的代码表示是某些Forth实现使用的indirect threaded code。它位于固定字节码格式和机器代码之间。

但很难从外来源语言中生成一个理智,紧凑的Forth代码,因此为了获得最佳结果,您必须使用类似于抽象的方法在Forth或其他语言中进行编码。

虽然有一些有趣的技术,但是从C或Java等东西生成的线程代码更难以紧凑化。当然,生成的代码仍然比机器代码小。