测试lua的效率

简介:

   这几天粗略的测试了一下lua的效率!首先声明这个测试很有针对性,大部分是针对游戏中的使用,而绝非lua的整体性效率(这个测试我不会),lua构建的上层逻辑中,大概使用的语句不太多,for,迭代,调用C函数,if else,local var等这些语句,其他的语句相对少!给出测试代码:


#include <iostream>

extern "C" 
{
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
};

#include "lua_tinker.h"

int cpp_func(int arg1, int arg2)
{
    return arg1 + arg2;
}

int main()
{
    // Lua 甫 檬扁拳 茄促.
    lua_State* L = lua_open();

    // Lua 扁夯 窃荐甸阑 肺靛茄促.- print() 荤侩
    luaL_openlibs(L);

    // LuaTinker 甫 捞侩秦辑 窃荐甫 殿废茄促.
    lua_tinker::def(L, "cpp_func", cpp_func);

    // sample1.lua 颇老阑 肺靛/角青茄促.
    lua_tinker::dofile(L, "sample1.lua");

    // 橇肺弊伐 辆丰
    lua_close(L);

    return 0;
}

      给出lua代码:


local main={}

local array={"a","b","c","d","e","f"}

main.testFunction = function()
--    cpp_func(1,1)
    
--    for i,k in ipairs(array) do
--    end

    for i=1,10000 do
        if i == 1 then
        else
        end
    end
end

main.main = function()
    print("start time:",os.time())
    for i=1,10000 do
        main.testFunction()
    end
    print("end   time:",os.time())
end

main.main()

   大概给出一个测试结果吧,环境是我的开发机器!

     lua 调用C函数,每秒可以调用10000000次,大概1ms调用1k次。

     lua 至于申请变量和 if else 判断,每秒可以调用100000000次,大概1ms调用1w次。迭代起与for循环相当!


相关文章
|
6月前
|
存储 并行计算 Java
Python代码优化与性能调优:提升效率的关键技巧
在当今快节奏的软件开发环境中,优化Python代码的性能成为了开发者们关注的焦点。本文将介绍一些实用的技巧和策略,帮助开发者们最大限度地提高Python代码的执行效率,从而使应用程序更加高效稳定。
|
6月前
|
存储 数据可视化 C++
提高代码效率的6个Python内存优化技巧
当项目变得越来越大时,有效地管理计算资源是一个不可避免的需求。Python与C或c++等低级语言相比,似乎不够节省内存。 但是其实有许多方法可以显著优化Python程序的内存使用,这些方法可能在实际应用中并没有人注意,所以本文将重点介绍Python的内置机制,掌握它们将大大提高Python编程技能。
224 0
|
20天前
|
机器学习/深度学习 缓存 数据挖掘
Python性能优化:提升你的代码效率
【10月更文挑战第22天】 Python性能优化:提升你的代码效率
13 1
|
3月前
|
前端开发 JavaScript Java
hyengine 编译问题之复用脚本引擎如何解决
hyengine 编译问题之复用脚本引擎如何解决
|
3月前
|
Java 测试技术
hyengine microbench测试问题之提升jit优化如何解决
hyengine microbench测试问题之提升jit优化如何解决
|
5月前
|
测试技术 持续交付 API
Airtest脚本的重构与优化:提升测试效率和可读性
通过对Airtest脚本的重构与优化,我们不仅能提升测试效率,还能增强脚本的可读性和可维护性。这些改进将有助于应对不断变化的测试需求,为保证软件质量提供坚实的支持。记住,优化是一个持续的过程,定期回顾和调整测试脚本是保持测试项目健康的关键。希望以上分享能帮助大家在自动化测试的道路上更进一步。
|
6月前
|
C语言
优化后的代码,
优化后的代码,
48 1
|
6月前
|
存储 Rust 安全
Rust中避免不必要的内存分配与复制的优化策略
在Rust编程语言中,内存分配与复制是常见的性能瓶颈。本文深入探讨了如何在Rust中避免不必要的内存分配和复制,包括使用栈分配、借用与所有权、智能指针、以及零拷贝策略等。通过理解这些概念并应用相应的优化策略,Rust开发者可以显著提高代码的性能和效率。
|
监控 安全 测试技术
【Lua】代码执行覆盖率
以黑盒测试来讲,简单概括为以下几个方面来进行保障: 1. 在产品的需求分析阶段,参与需求的评审,发现需求设计中的不合理性以及存在风险的设计等,从源头发现问题,这样可以花费最小的代价获得最高的收益。 2. 在开发设计编码阶段,如果有设计评审环节,需要参与设计讨论,这样就可以尽早的了解技术的实现逻辑,获取更多影响测试质量的因素,完善测试用例。可能在游戏行业很少会进行编码设计环节的评审,但作为测试人员最好可以在技术忙碌之余主动去了解设计实现,知道技术设计的逻辑流程,从而编写具有针对性的测试用例。
381 0
【Lua】代码执行覆盖率