Posted on 2008-11-08 00:16
Robert Su 阅读(4447)
评论(0) 编辑 收藏 所属分类:
Python 、
Java
java是一种解析性的语言,可是多了一个中间步骤,就是把源代码编译成class文件,不过此编译非编译器的编译,因为class里面不是机器语言或汇编语言,而是经过编码的8位字节二进制流。JVM是java的解析器。
python是一门地地道道的解析型语言。
它们之间的效率谁更高呢?
大头 23:56:14
“如果相同功能的class和python,class执行要快,因为class已经全部翻译好了,python还要一句一句解析。”
Java多了编译成class的过程,所以效率相对于python要慢一些。
事实上python也可以产生class一样的东西
字节编译的.pyc文件
“输入一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些。一种方法是创建 字节编译的文件 ,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关(是否还记得Python如何工作的介绍?)。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的——它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。所以,现在你知道了那些.pyc文件事实上是什么了。”——《python简明教程》
(烦请明白的看到了错误之处给指正:)
附:
编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic.