cocos2d-x js性能测试 (二)

本文通过具体的Lua代码测试了不同数学运算的执行效率,并对比了JavaScript的性能。结果显示Lua在某些操作上的运行速度明显快于JavaScript。

继续之前的测试,这次轮到lua,附上代码

local function calculateTime(name, func)
    local times=0
    local count=100
    for i=0,count do
        local bt=os.clock()
        func()
        local et=os.clock()
        times = times+et-bt
    end
    times = times/count*1000 --调整单位到ms

    print("===================================")
    print(string.format("%s use time: %f",name,times))
    print("===================================")
end

local function testPlus ()
    for i=0,100000 do
        local x = i+500
    end
end

local function testMultiplication ()
    for i=0,100000 do
        local x = i*500
    end
end

local function testDivision ()
    for i=0,100000 do
        local x = i/500
    end
end

local function testMax ()
    for i=0,100000 do
        local x = math.max(i,500)
    end
end

local function testMax2 ()
    for i=0,100000 do
        local x=0
        if i>500 then
            x=i
        else
            x=500
        end
    end
end

local function testDisplacement ()
    for i=0,100000 do
        local x = i/1000
    end
end

-- local function testDisplacement2 ()
--     for i=0,100000 do
--         local x = i>>10
--     end
-- end

calculateTime("testPlus", testPlus)
calculateTime("testMultiplication", testMultiplication)
calculateTime("testDivision", testDivision)
calculateTime("testMax", testMax)
calculateTime("testMax2", testMax2)
calculateTime("testDisplacement", testDisplacement)
-- calculateTime("testDisplacement2", testDisplacement2)

附上结果:

[LUA-print] ===================================
[LUA-print] testPlus use time: 0.033330
[LUA-print] ===================================
[LUA-print] ===================================
[LUA-print] testMultiplication use time: 0.031500
[LUA-print] ===================================
[LUA-print] ===================================
[LUA-print] testDivision use time: 0.031590
[LUA-print] ===================================
[LUA-print] ===================================
[LUA-print] testMax use time: 0.031500
[LUA-print] ===================================
[LUA-print] ===================================
[LUA-print] testMax2 use time: 0.501400
[LUA-print] ===================================
[LUA-print] ===================================
[LUA-print] testDisplacement use time: 0.030740
[LUA-print] ===================================
看到结果我始终感觉是哪里有问题,和js差100倍……我对我的测试结果保持怀疑态度。

在真机(iPhone6)上测试差距有缩小,但是仍然有10倍的差距,js的运算效率真的是……

转载于:https://www.cnblogs.com/jasonzxx/p/4986661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值