几种脚本语言的性能简单测试

本文对比了C、TinyCC、Lua及AngelScript四种语言在循环处理上的性能表现。结果显示,尽管Lua和AngelScript在脚本编写中常用,但在循环效率上远不及原生C,甚至TinyCC也比预期慢。
摘要由CSDN通过智能技术生成

今天简单测试了几种脚本语言循环的效率,分别是

native c

tcc(tiny c compiler)

lua

AngelScript

都是在vc环境下做的测试

 

 

//c代码如下

//c & tcc & as code: 这些都是c风格的,我个人比较习惯

double process(double ret)
{
 double i=0.0;
 for(i=0.0;i<1000000000.0;i+=1.0)
  ret +=2.0;
 return ret;
}

 

//lua code:说实话,我不大喜欢这种风格:)

local i=0.0;
local function process (ret)
 while(i < 1000000000.0) do
  i = i+1.0
  ret = ret + 2.0
 end
 return ret

end

 

 

分别用四种语言测试了一下,所花时间(ms)是:

c        1625
tcc     5468

lua 103368
as  268906

 

以c为标准,看来lua其实也很慢,大概只有c的1/60速度,angelscript就更慢了,只有1/150......,tcc也没有预想中的快,大概是c的1/4(没想到会这么慢的,这可是编译成386机器代码的啊)

 

现在很多的项目都采用lua做脚本,写一些界面,AI什么的,简单的测试下发现效率堪忧。不知道luajit能不能带来性能上的飞跃,以后有空得测试一下。

tcc虽然也没有预想中的快,(原来我认为会和c差不多,最多差个百分之几十),但至少是和c在一个数量级上,在效率上还是可以接受的。我们现在的项目的服务器脚本就在用它. 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值