美文网首页
Luajit性能

Luajit性能

作者: 印随2018 | 来源:发表于2020-02-26 18:25 被阅读0次

Luajit性能

硬件规格:ecs.t5-lc1m1.small
CPU: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz

一、预先生成数组

耗时由1.5秒提升到0.9秒

实验组

resty -e '
local begin = ngx.now()
local t = {}
for i=1,10000000 do
  table.insert(t, i)
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:1.5160000324249

对照组

resty -e '
local new_table = require("table.new")
local begin = ngx.now()
local t = new_table(10000000, 0)
for i=1,10000000 do
  table.insert(t, i)
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.94700002670288

二、自己计算table下标

耗时由0.93秒提升到0.03秒

实验组

resty -e '
local new_table = require("table.new")
local begin = ngx.now()
local t = new_table(10000000, 0)
for i=1,10000000 do
  table.insert(t, i)
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.93299984931946

对照组

resty -e '
local new_table = require("table.new")
local begin = ngx.now()
local t = new_table(10000000, 0)
for i=1,1000000 do
  t[i] = i
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.032000064849854

三、循环使用table

耗时由0.06秒提升到0.035秒

实验组

resty -e '
local new_table = require("table.new")
local begin = ngx.now()
local t1 = new_table(10000000, 0)
for i=1,1000000 do
  t1[i] = i
end
local t2 = new_table(10000000, 0)
for i=1,1000000 do
  t2[i] = i
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.06600022315979

实验组

resty -e '
local new_table = require("table.new")
local begin = ngx.now()
local t = new_table(10000000, 0)
for i=1,1000000 do
  t[i] = i
end
for i=1,1000000 do
  t[i] = i
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.035000085830688

四、使用jit优化函数

耗时由0.9秒提升到0.75秒

实验组

resty -e '
local new_table = require("table.new")
local t = new_table(1000000, 0)
for i=1,1000000 do
  t[tostring(i)] = i
end
local begin = ngx.now()
for k,v in pairs(t) do
  t[k] = "ok"
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.90300011634827

对照组

resty -e '
local new_table = require("table.new")
local t = new_table(1000000, 0)
for i=1,1000000 do
  t[tostring(i)] = i
end
local begin = ngx.now()
for i,v in ipairs(t) do
  t[i] = 1
end
ngx.update_time()
print(ngx.now() - begin)
'

用时:0.75699996948242

相关文章

  • Luajit性能

    Luajit性能 硬件规格:ecs.t5-lc1m1.smallCPU: Intel(R) Xeon(R) Pla...

  • 译作:窥斑见豹--Peeking inside luaJIT

    原文:Peeking inside LuaJIT luajit是lua的一款高性能虚拟机。我最近开始捣鼓它,我把目...

  • LuaJIT性能热点函数优化

    1)LuaJIT性能热点函数优化​2)Unity 2019.4打包Android疑问3)RenderTexture...

  • 编译支持 lua 和 ruby 的 vim

    下载 Vim,Lua,LuaJIT 解压 编译安装 Lua 编译安装 LuaJIT 查看 Lua 与 LuaJIT...

  • hadoop离线数据分析01

    系统环境部署 上传LuaJIT,并安装。用于日志收集 设置LuaJIT环境变量 上传 LuaJIT-2.0.4.t...

  • Lua和Luajit的区别

    LuaJIT是采用C语言写的Lua的解释器。LuaJIT被设计成全兼容标准Lua 5.1, 因此LuaJIT代码的...

  • luajit与NYI

    什么是LuaJIT 标准 Lua 出于性能考虑,也内置了虚拟机,所以 Lua 代码并不是直接被解释执行的,而是先由...

  • Nginx添加Lua扩展

    环境 系统:CentOS 7.5 准备 安装Nginx 编译安装LuaJIT 下载地址:http://luajit...

  • nginx记录POST数据

    一、准备安装包wget http://luajit.org/download/LuaJIT-2.0.5.tar.g...

  • NGINX LUA RTMP 编译

    文件包下载 nginx lua-nginx luajit ngx_devel_kit 安装 luajit 编译Ng...

网友评论

      本文标题:Luajit性能

      本文链接:https://www.haomeiwen.com/subject/dkcichtx.html