lua中使用毫秒精度时间的方法

lua自带的时间函数只能到秒的精度。

为了统计到毫秒精度的时间,可以使用luasocket。下载地址http://files.luaforge.net/releases/luasocket/luasocket

编译安装的时候,你可能需要在源码包根目录下的config文件中指定LUAINC变量为你的lua路径。

代码如下:

local socket = require "socket"
local t0 = socket.gettime()
-- do something
local t1 = socket.gettime()
print("used time: "..t1-t0.."ms")

update:

如果对精度的要求不需要到毫秒级别,可以用自带的os模块.精度为0.01秒

代码如下:

local s = os.clock()
local e = os.clock()
print("used time"..e-s.." seconds")

(0)

相关推荐

  • lua中使用毫秒精度时间的方法

    lua自带的时间函数只能到秒的精度. 为了统计到毫秒精度的时间,可以使用luasocket.下载地址http://files.luaforge.net/releases/luasocket/luasocket 编译安装的时候,你可能需要在源码包根目录下的config文件中指定LUAINC变量为你的lua路径. 复制代码 代码如下: local socket = require "socket" local t0 = socket.gettime() -- do something lo

  • Lua中的元表(metatable)、元方法(metamethod)详解

    终于到了在实际中经常要用到的内容了--元表与元方法. 在第一次看见这两样东西的时候,可能会觉得它很深奥,但其实很好理解,虽然实际上它可能真的很深奥.(小若:停!滚粗.) 1.知道为什么1 + 1 = 2吗? 为什么在Lua中,1+1会等于2呢?(小若:难道除了Lua,其他地方就不等于2了?) 为什么数字和数字相加是合法的,为什么table和table相加就会报错?大家有想过这些问题吗?   没错,规则,这一切都只是规则而已,Lua规定了数字之间可以进行加减乘除,而table之间则不可以. 这是因

  • Lua中设置table为只读属性的方法详解

    项目中部分只读表易被人误改写,故决定在非线上环境里对这些表附加只读属性,方便在出现误改写的时候抛出lua错误,最终版代码如下: --[[------------------------------------------------------------------------------ -** 设置table只读 出现改写会抛出lua error -- 用法 local cfg_proxy = read_only(cfg) retur cfg_proxy -- 增加了防重置设置read_o

  • Lua中释放table占用内存的方法

    table的大小是动态变化的.看如下代码: 复制代码 代码如下: tb = {1,2,3} --数组大小4,hash表大小1(不管hash表有没有存数据,它的大小最小为1)    tb[5] = 5  tb[100] = 100 --数组大小4,hash表大小2 因为后插入的两个数的key过于离散,所以它们被保存到hash表中.最终tb的大小为4+2=6. 这时我们对table进行删除操作: 复制代码 代码如下: tb[1] = nil  tb[2] = nil  tb[3] = nil  tb

  • Lua中获取utf8字符串长度的方法和自定义函数

    复制代码 代码如下: --- 获取utf8编码字符串正确长度的方法 -- @param str -- @return number function utfstrlen(str) local len = #str; local left = len; local cnt = 0; local arr={0,0xc0,0xe0,0xf0,0xf8,0xfc}; while left ~= 0 do local tmp=string.byte(str,-left); local i=#arr; wh

  • 详解Lua中if ... else语句的使用方法

    if 语句后面可以跟一个可选的else语句,当布尔表达式为假该语句执行. 语法 在Lua编程语言中的if ... else语句的语法是: 复制代码 代码如下: if(boolean_expression) then    --[ statement(s) will execute if the boolean expression is true --] else    --[ statement(s) will execute if the boolean expression is fals

  • 详解Lua中的if语句的使用方法

    if语句由一个或多个语句组成一个布尔表达式. 语法 Lua编程语言的if语句语法是: 复制代码 代码如下: if(boolean_expression) then    --[ statement(s) will execute if the boolean expression is true --] end 如果布尔表达式的计算结果为代码的if语句为true,那么块将被执行.如果if语句的末尾(右大括号后)布尔表达式计算为false,那么第一组代码将被执行. Lua程序设计语言假定布尔tru

  • Lua中访问table里函数的方法示例

    看例子代码: 复制代码 代码如下: do  table_ = {   a = 1,   foo = function(i)      return i     end  } print(table_.foo(1)) end

  • Lua中类的实现原理探讨(Lua中实现类的方法)

    Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类. 下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲,相信对Lua中实现类的理解有困难的同学将会释疑. 类是什么? 想要实现类,就要知道类到底是什么. 在我看来,类,就是一个自己定义的变量类型.它约定了一些它的属性和方法,是属性和方法的一个集合. 所有的方法都需要一个名字,即使是匿名函数实际上也有个名字.这就形成了方法名和方法函数的键值映射关系,即方法名为键,映射的值为方法函数. 比如说有一个类是人,人有一个说话的

  • Android 在页面中显示打包日期的实现方法

    项目有需求,要求在app里显示安装包打包的日期,我的想法是: 1,在build.gradle中定义打包的日期变量. 2,在app里引用BuildConfig文件自动生成的变量并显示. 实现如下: 先在Build.gradle中定义得到打包时间的方法,在文件内容最外层定义: //得到打包时间 def static releaseTime() { return new Date().format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone(&qu

随机推荐