呵呵,最近的空闲时间,我在对以前策划的脚本引擎架构的方案进行实施,编写完脚本引擎核心的原型系统。在互联网搜了搜最快的脚本引擎,在国内众口一词的都说Lua最快,其实是不然的。
让我们用事实来说话吧:
下面的测试全部采用 QueryPerformanceCounter 高精度计数【Lua这个家伙不支持int64让我头疼了一阵,还好我想到了解决的方法】。
我这里测试指令:只简单测试加法运算;总共测试2017个加法指令与常数直接相加,最后的结果应该为:300*2017=605100
另外我还将测试子程序调用的速度。
没有比较是不行的,我用机器语言直接运行的效率和脚本相比:
下面是加法指令直接运行的速度:
x86汇编:
;计时开始
MOV EBX, 300 BB2C010000
ADD EBX, 300 81C32C010000
..... --- 总计 2017 次
ADD EBX, 300 81C32C010000
;计时结束
结果运行时间:60
Lua Script 脚本:
(计时开始)
local count = 300
count = count + 300
..... (总计 2017 次)
count = count + 300
(计时结束)
【Lua5.0.2】运行时间:110
【Lua5.1 】 运行时间: 120
EUPHORIA 加法指令顺序执行效率测试脚本&#