cocos2d-x js性能测试 (二)

继续之前的测试,这次轮到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的运算效率真的是……
posted @ 2015-11-22 20:35  JasonZXX  阅读(615)  评论(0编辑  收藏  举报