]>
git.madduck.net Git - etc/awesome.git/blobdiff - luatz/gettime.lua
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-_M.source , _M.resolution , _M.gettime = (function()
- local has_syscall , syscall = pcall ( require , "syscall" )
+_M.source, _M.resolution , _M.gettime = (function()
+ local has_syscall, syscall = pcall(require, "syscall" )
if has_syscall and syscall.clock_gettime and syscall.c.CLOCK then
local clock_id = syscall.c.CLOCK.REALTIME
if has_syscall and syscall.clock_gettime and syscall.c.CLOCK then
local clock_id = syscall.c.CLOCK.REALTIME
- local function timespec_to_number ( timespec )
- return tonumber ( timespec.tv_sec ) + tonumber ( timespec.tv_nsec ) * 1e-9
+ local function timespec_to_number(timespec )
+ return tonumber(timespec.tv_sec) + tonumber(timespec.tv_nsec ) * 1e-9
- return "syscall.clock_gettime(CLOCK_REALTIME)" ,
- syscall.clock_getres and timespec_to_number ( syscall.clock_getres ( clock_id ) ) or 1e-9 ,
- function ( )
- return timespec_to_number ( syscall.clock_gettime ( clock_id ) )
+ return "syscall.clock_gettime(CLOCK_REALTIME)",
+ syscall.clock_getres and timespec_to_number(syscall.clock_getres(clock_id)) or 1e-9 ,
+ function( )
+ return timespec_to_number(syscall.clock_gettime(clock_id) )
- local has_unix , unix = pcall ( require , "unix" )
+ local has_unix, unix = pcall(require, "unix" )
-- On Apple devices lunix only uses gettimeofday()
if has_unix and unix.clock_gettime and unix.uname and unix.uname().sysname ~= "Darwin" then
-- On Apple devices lunix only uses gettimeofday()
if has_unix and unix.clock_gettime and unix.uname and unix.uname().sysname ~= "Darwin" then
- return "unix.clock_gettime(CLOCK_REALTIME)" , 1e-9 , function ( )
- return unix.clock_gettime ( )
+ return "unix.clock_gettime(CLOCK_REALTIME)", 1e-9, function( )
+ return unix.clock_gettime( )
end
end
if has_syscall and syscall.gettimeofday then
end
end
if has_syscall and syscall.gettimeofday then
- local function timeval_to_number ( timeval )
- return tonumber ( timeval.tv_sec ) + tonumber ( timeval.tv_nsec ) * 1e-6
+ local function timeval_to_number(timeval )
+ return tonumber(timeval.tv_sec) + tonumber(timeval.tv_nsec ) * 1e-6
- return "syscall.gettimeofday()" , 1e-6 ,
- function ( )
- return timeval_to_number ( syscall.gettimeofday ( ) )
+ return "syscall.gettimeofday()", 1e-6 ,
+ function( )
+ return timeval_to_number(syscall.gettimeofday() )
return "unix.gettimeofday()", 1e-6, unix.gettimeofday
end
return "unix.gettimeofday()", 1e-6, unix.gettimeofday
end
- local has_socket , socket = pcall ( require , "socket" )
+ local has_socket, socket = pcall(require, "socket" )
if has_socket and socket.gettime then
-- on windows, this uses GetSystemTimeAsFileTime, which has resolution of 1e-7
-- on linux, this uses gettimeofday, which has resolution of 1e-6
if has_socket and socket.gettime then
-- on windows, this uses GetSystemTimeAsFileTime, which has resolution of 1e-7
-- on linux, this uses gettimeofday, which has resolution of 1e-6
- return "socket.gettime()" , 1e-6 , socket.gettime
+ return "socket.gettime()", 1e-6 , socket.gettime
end
if ngx and ngx.now then -- luacheck: ignore 113
end
if ngx and ngx.now then -- luacheck: ignore 113
- return "ngx.now()" , 1e-3 , ngx.now -- luacheck: ignore 113
+ return "ngx.now()", 1e-3 , ngx.now -- luacheck: ignore 113
- return "os.time()" , 1 , os.time
+ return "os.time()", 1 , os.time