- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Lua和Python相比,哪种语言更快更好
网上经常看到别人拿lua与python来进行对比,但是,本人认
为,lua与python根本就不具有可比性.原因如下:
1、两者的定位不同。python的定位在于自身的独立开发,即是
说python定位于自己能解决所有的问题。lua定位在与其它的代码,
尤其是C++代码进行相互配合的编译,单独的Lua本身没有任何的意
义。
2、站在解决问题的角度上看。python依靠自身越来越强大的库,
让编程者能实现越来越多,越来越复杂的问题。lua本身则必须与其
它的编译语言结合,才能解决问题。以C+++lua来举例。单独的C++,
因为C++的复杂性,在其解决问题提供方便的同时,也给程序员带来
了很大的麻烦,这些麻烦主要有两个方面:1,C++本身,特别是能用
好C++,对程序员就来说就是一个很高的要求。2,在解决复杂问题时,
C++程序结构的复杂性和逻辑实现的复杂性,给程序员对程序的改进
和维护带来了很大的麻烦。而C++与Lua的结合,让C++可以只负责
为lua提供各种基本的功能函数库,而Lua调用这些库来实现各种逻
辑功能。这种分工可以让程序员将程序中的基本代码库和逻辑实现代
码进行分离,使程序的效率和可维护有了很大的提高。所以,如果真
的要站在解决问题的角度来对python和lua进行对比的话。实际上,
是C++与python进行对比,而与lua无关。
3、python与C++对比,我觉得python与C++对比的优势就在于
其所提供的基本库,大大的降低了程序复杂度与可维护性对程序员本
身的要求。比如,同样的功能,如果是C++来做的话,可能其程序员
必须具备三年的经验,如果是python来做,而python又有解决问题
所需要的库的话,一个具有一年程序经验的程序员可能就能完成了。
但是,同样的,如果是C++与Lua结合来解决问题的话,可能就只需
要半个高级程序员和一个只有c语言一年经验的程序员就可以了。半
个高级程序员负责提供lua的函数库,另一个程序员,只需要用这些
代码库实现逻辑就行了。
但如果但就运行速度来比较的话,首先lua的虚拟机非常简单,
指令设计也很精简。最关键的是,lua是基于寄存器的虚拟机实现,
而python还有很多其他脚本语言是基于堆栈的,基于寄存器的虚拟
机字节码更简单,更高效,因为registerbasedvm的字节码,一般同
时包含了指令/操作数/操作目标等。
对比简单的加法操作:
stackbased生成的字节码大概是这样(仅仅是模拟,不代表实
际)
PUSH1
PUSH2
ADD//ADD的操作结果存放eax
PUSHeax//将结果push入堆栈,以便后面的代码不会覆盖eax
而registerbased生成的字节码大概是这样:
ADD1,2,R1
就一行,R1存放1+2的结果
就这么简答的操作就已经相差4条指令,所以基于寄存器的虚拟
机字节码运行更有效率。Lua的指令集非常非常非常简单,我对着指
令说明看了半个小时就能看懂lua的汇编代码了,再花十来分钟就能
手动修改lua二进制代码了,而我甚至没完整看过lua的源码。
综上所述,C+++lua的开发模式,和python源代码库开发+python
脚本开发模式其实是一样的。但是站在程序员的角度上来说,C++
+lua就更为简单一些,因为除去基本的lua解释代码外,C++可以为
lua动态提供各种函数库。而python程序员则必须受制于python所
提供的各种功能库。所以,如果解决一些具有普遍性和重复性的问题
时,python是有优势的,因为有很多的代码可以不用重写,而C+++lua
则必须重构。如果是解决一些非普遍的问题,如果python本身没有
提供解决这些问题的库的话,python程序员,也许要必须走回C++
的老路了。
AInspir是一套完全由飔拓自主研发,基于Hadoop和Spark技
术实现的企业级专业大数据分析挖掘平台,在它的帮助下,数据模型
的设计如同编写伪代码一样容易,用户只需关注模型的高层结构,而
无需担心任何琐碎的底层问题,可以快速建立数据模型来解决医疗、
金融等实际问题,让人工智能发挥出最大作用。
您可能关注的文档
- Java-2实用教程习题解答.pdf
- JAVA8与JAVA11到底该怎么选?.pdf
- Java8中Stream详细用法大全.pdf
- javascript高级程序设计.pdf
- JavaScript高级程序设计4.pdf
- javasftp传输文件密码密钥方式.pdf
- Java程序设计语言.pdf
- Java词汇大全(非常有用).pdf
- java的Builder原理和实现详解.pdf
- Java的类一些常识.pdf
- MAX300系列NanoMax-3-Axis-Flexure-Stage-用户手册说明书.pdf
- NHANES项目介绍及数据提取流程.pdf
- Peng-Robinson状态方程数值方法:原理、应用与优化.pdf
- plc是什么意思-plc编程是什么(详细讲解).pdf
- PLC应用技术项目化教程(西门子S7-1200):点动控制课件教学课件可复制.pdf
- python+Appium自动化测试应用教程及实例(APP测试).pdf
- Python+Django+AnsiblePlaybook自动化运维项目实战(一).pdf
- python3.8.3安装配置图文教程.pdf
- Python3+Flask安装使用教程详解.pdf
- Python3+PCAN-USB基于PCAN-Basic二次开发实现上位机功能.pdf
最近下载
- 人教部编版四年级数学上册《角的度量(全章)》PPT教学课件.ppt VIP
- 2024年贵州省六盘水市中考语文试卷真题(含答案逐题解析).docx
- 121全等三角形公开课课件.pptx VIP
- 加气混凝土砌块施工技术技术交底.pdf VIP
- qc080000内部质量审核查检表.doc VIP
- 2024中国邮政邮储银行秋招历年考试试题及答案.docx VIP
- 统编版(部编版)小学语文三年级上册第二单元单元测试卷(含答案).pdf VIP
- (高清版)DB62∕T 25-3111-2016 建筑基坑工程技术规程.pdf VIP
- 电力系统暂态解析.pdf VIP
- 统编版(2024)道德与法治小学三年级上册《10 公共场所,文明言行》教学设计.docx VIP
文档评论(0)