fakescript与lua的性能比较

原创
2014/11/29 15:43
阅读数 924

之前一直有人让给出fakescript与lua的测试数据,那么问题来了

测试环境为Amazon EC2 t2.micro,单核1g内存

测试代码和脚本在fakescript的源码里都能找到,链接 fakescript

lua与fake均使用O3编译

测试方法为调用脚本函数myfunc1  900w次,看总消耗时间   

由于这种嵌入式脚本,逻辑总是分为自身逻辑和与C函数的交互,因此测试脚本分成了对应的两种

下图是针对两种脚本的运行结果:


fakescript lua
9.lua(自身逻辑)
7s
10s
17.lua(调用C函数)
2s
5s


9.lua内容如下,主要是脚本内部的循环、判断与计算

-- func1 comment
function myfunc1(arg1, arg2)
    
    while arg1 < arg2 + 10 do
    
        arg1 = arg1 + 1
    end
    
    return arg1
    
end

lua的调用图:

fake的调用图



对于17.lua,脚本内容如下,主要内容是调用注册的C函数cfunc1

-- func1 comment
function myfunc1(arg1, arg2)
    
    return 1 + cfunc1(-10, cfunc1(arg1, arg2))
    
end

cfunc1的内容很简单

int cfunc1(int a, int b)
{
    return a - b;
}

那么lua的调用图如下:


fake的调用图为


可以看到,fake调用的函数比lua少的多,因为内部结构更简单

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
2 评论
0 收藏
0
分享
返回顶部
顶部