mirror of https://github.com/midoks/mdserver-web
pull/216/head
parent
6e6a41e6df
commit
7bdcd0ac2b
@ -0,0 +1,62 @@ |
||||
local function target() |
||||
ngx.re.find("hello, world.", [[\w+\.]], "jo") |
||||
end |
||||
for i = 1, 100 do |
||||
target() |
||||
end |
||||
|
||||
-- 以上为预热操作 |
||||
collectgarbage() |
||||
|
||||
local ffi = require("ffi") |
||||
ffi.cdef[[ |
||||
struct timeval { |
||||
long int tv_sec; |
||||
long int tv_usec; |
||||
}; |
||||
int gettimeofday(struct timeval *tv, void *tz); |
||||
]]; |
||||
local tm = ffi.new("struct timeval"); |
||||
|
||||
-- 返回微秒级时间戳 |
||||
local function current_time_millis() |
||||
ffi.C.gettimeofday(tm,nil); |
||||
local sec = tonumber(tm.tv_sec); |
||||
local usec = tonumber(tm.tv_usec); |
||||
return sec + usec * 10^-6; |
||||
end |
||||
|
||||
|
||||
ngx.update_time() |
||||
local begin = ngx.now() |
||||
local N = 1e7 |
||||
for i = 1, N do |
||||
target() |
||||
end |
||||
ngx.update_time() |
||||
|
||||
ngx.say("elapsed: ", (ngx.now() - begin) / N) |
||||
|
||||
|
||||
ngx.update_time() |
||||
local begin = ngx.now() |
||||
local N = 1e7 |
||||
for i = 1, N do |
||||
target() |
||||
end |
||||
ngx.update_time() |
||||
|
||||
ngx.say("elapsed[1]: ", (ngx.now() - begin) / N) |
||||
|
||||
|
||||
|
||||
|
||||
ngx.update_time() |
||||
local begin = current_time_millis() |
||||
local N = 1e7 |
||||
for i = 1, N do |
||||
target() |
||||
end |
||||
ngx.update_time() |
||||
|
||||
ngx.say("ffi elapsed: ", (current_time_millis() - begin) / N) |
Loading…
Reference in new issue