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. SVG动画示例

    package com.loaderman.customviewdemo; import android.graphics.drawable.Animatable; import android.os ...

  2. 基于Android的ADT目录

    src: 源代码(重要) gen : 工具自动生成的代码 > BUildconfig 调试的开关,默认开启 > R.java 很多的静态的内部类 > 开发用的jar包 Android ...

  3. VSCode使用Dart和lutter所需按照的插件

    Dart Flutter Flutter Widget Snippets [可快速敲出关联代码] Code Runner: 用于代码运行 Awesome Flutter Snippetsnash

  4. 静态文件cdn自解析生成相对路径

    一.场景和目标:      用户上传一个包含 index.html 的静态资源压缩包,资源内所有文件都是相互依赖的,不需要用户对内部文件内容做任何特殊处理,仅通过服务端逻辑处理达到用户访问 http: ...

  5. SpringBoot集成Spring MVC视图

    SpringBoot在springmvc的视图解析器方面就默认集成了ContentNegotiatingViewResolver和BeanNameViewResolver,在视图引擎上就已经集成自动配 ...

  6. PowerDesigner的安装和数据库创建

    PowerDesigner安装方法:  http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html 安装完这2个软件 ...

  7. 域名购买、SSL证书申请使用和本地服务映射外网

    万网购买域名 1.在如下网址购买,价格不是很贵,几块钱一年的都有:https://wanwang.aliyun.com/domain/?spm=5176.100251.111252.24.4ddd4f ...

  8. 最新 多益网络java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 多益网络等10家互联网公司的校招Offer,因为某些自身原因最终选择了 多益网络.6.7月主要是做系统复习.项目复盘.Le ...

  9. python函数声明和调用(18)

    函数是指代码片段,可以重复调用,比如我们前面文章接触到的type()/len()等等都是函数,这些函数是python的内置函数,python底层封装后用于实现某些功能. 一.函数的定义 在Python ...

  10. c#,简单的冒泡排序

    冒泡排序 ,,,,,,,,,}; //bool IsSort; //do //{ // IsSort = true; // for (int i = 0; i < Nums.Length - 1 ...