local p = {}
p.t = {}
p.t.p = {}
p.t.p.t = {}
p.t.p.t.p = {}
p.t.p.t.p.t = {}
p.t.p.t.p.t.p = {}
p.t.p.t.p.t.p.t = {}
p.t.p.t.p.t.p.t.p = {}
p.t.p.t.p.t.p.t.p.t = {}
p.t.p.t.p.t.p.t.p.t.p = {}
p.t.p.t.p.t.p.t.p.t.p.t = {}
p.t.p.t.p.t.p.t.p.t.p.t.p = {}
p.t.p.t.p.t.p.t.p.t.p.t.p.x = local s1 = os.clock() for i = , do
p.t.p.t.p.t.p.t.p.t.p.t.p.x = p.t.p.t.p.t.p.t.p.t.p.t.p.x +
end local e1 = os.clock() print("runtime1 = " .. (e1 - s1)) local s2 = os.clock() local t1 = p.t.p.t.p.t.p.t.p.t.p.t.p
for i = , do
t1.x = t1.x +
end local e2 = os.clock() print("runtime2 = " .. (e2 - s2)) local s3 = os.clock() for i = , do
local t3 = p.t.p.t.p.t.p.t.p.t.p.t.p
t3.x = t3.x +
end local e3 = os.clock() print("runtime3 = " .. (e3 - s3))

runtime1 = 0.024
runtime2 = 0.003
runtime3 = 0.013
[Finished in 0.1s]

结论:

在循环中频繁索引一个table元素,可以先local一下.

局部变量比全局变量快,全局变量编译后指令多 1V4(具体百度下)

Lua table直接索引VS缓存索引性能测试小示例的更多相关文章

  1. C# 循环中 直接索引 VS 缓存索引 性能测试

    using System; namespace TestCSharp { class MainClass { public class t1 { public b1 b = new b1(); } p ...

  2. Lua Table pairs输出顺序问题 (版本差异 解决数字索引间断并兼容字符串索引)

    问题标签: Lua Table 迭代器;Lua Table 输出顺序; Lua Table 顺序输出;Lua Table 数字索引 字符串索引;Lua Table pairs; 问题背景: 使用pai ...

  3. lua table remove元素的问题

    当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtes ...

  4. Lua table笔记

    记录我在使用lua的过程中的一些笔记 默认key为数字递增 local tb={"A",[3]="C","B"} 这个tb通过下标1,2,3 ...

  5. mysql索引之四(索引使用注意规则:索引失效--存在索引但不使用索引)

    但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全 ...

  6. 聚集索引、非聚集索引、聚集索引组织表、堆组织表、Mysql/PostgreSQL对比、联合主键/自增长、InnoDB/MyISAM(引擎方面另开一篇)

    参考了多篇文章,分别记录,如下. 下面是第一篇的总结 http://www.jb51.net/article/76007.htm: 在MySQL中,InnoDB引擎表是(聚集)索引组织表(cluste ...

  7. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析

    文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...

  8. Lua table使用

    days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Th ...

  9. 关于 lua table表存储函数且运用

    --table 是lua的一种数据结构用来帮助我们创建不同的数据类型.如:数组和字典--lua table 使用关联型数组,你可以用任意类型的值来做数组的索引,但这个值不能是nil--lua tabl ...

随机推荐

  1. osg 在场景中绘制坐标轴(xyz)

    //x y z font_size osg::Geode* makeCoordinate(float a_x,float a_y,float a_z,float font_size) { osg::r ...

  2. Scala 踩坑系列

    scala List scala list 如果使用 list(i)的形式进行遍历,如果list数据太多,每次遍历耗时会很久. 因为有一个 head tail 的概念 . 和java的List根据角标 ...

  3. Excel导出问题

    问题一:本地导出正常,部署到linux服务器导出文件内容乱码? 解决:修改服务器tomcat配置 server.xml 添加URIEncoding="UTF-8" <Conn ...

  4. C++: Unresolved external symbol __imp__fscanf

    VS2019中遇到错误error LNK2001: unresolved external symbol __imp__fscanf 解决办法:链接legacy_stdio_definitions.l ...

  5. 移动端APP测试总结

    移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面: 兼容性测试 流量测试 电量测试 弱网络测试 稳定性测试 安全测试 环境相关测试 apk性能测试 兼容性测试 针对App通常会考虑这些 ...

  6. web前端学习路程

    学习路程: 1.HTML和CSS基础 2.JavaScript语言 3.jQuery and ajax 4.综合网站实践 5.优化及调试

  7. LVS负载均衡在Ubuntu环境下部署详解

    一.本地环境介绍: 负载均衡的三台机器均为Ubuntu Server 14.04 64位系统,内核中已集成ipvs模块( modprobe -l | grep ipvs 查看 ).为演示LVS负载均衡 ...

  8. MySQL的注入总结

    0x01 MySQL 5.0以上和MySQL 5.0以下版本的区别 MySQL5.0以上版本存在一个叫information_schema的数据库,它存储着数据库的所有信息,其中保存着关于MySQL服 ...

  9. 李宗盛spss罚写2019-12-8

    以上过程即整个假设检验的思想:反证法及小概率原理. 因而假设检验有可能犯两类错误. 第一类错误:原假设正确,而错误地拒绝了它,即“拒真”的错误,其发生的概率为第一类错误的概率. 第二类错误:原假设不正 ...

  10. Spring 控制器层如何启用验证?

    1.示例代码 @PostMapping("/adduser") public String addUser(@Valid User user,BindingResult bindi ...