Use millisecond resolution time function for measuring performance.

native_objects
Robert G. Jakabosky 15 years ago
parent 3d5b97b982
commit 036012c57f

@ -19,6 +19,8 @@
-- THE SOFTWARE. -- THE SOFTWARE.
require("zmq") require("zmq")
local socket = require"socket"
local time = socket.gettime
if not arg[3] then if not arg[3] then
print("usage: lua local_thr.lua <bind-to> <message-size> <message-count>") print("usage: lua local_thr.lua <bind-to> <message-size> <message-count>")
@ -36,22 +38,22 @@ s:bind(bind_to)
local msg = s:recv() local msg = s:recv()
local start_time = os.time() local start_time = time()
for i = 1, message_count - 1 do for i = 1, message_count - 1 do
msg = s:recv() msg = s:recv()
end end
local end_time = os.time() local end_time = time()
s:close() s:close()
ctx:term() ctx:term()
local elapsed = os.difftime(end_time, start_time) local elapsed = end_time - start_time
if elapsed == 0 then elapsed = 1 end if elapsed == 0 then elapsed = 1 end
local throughput = message_count / elapsed local throughput = message_count / elapsed
local megabits = throughput * message_size * 8 local megabits = throughput * message_size * 8 / 1000000
print(string.format("message size: %i [B]", message_size)) print(string.format("message size: %i [B]", message_size))
print(string.format("message count: %i", message_count)) print(string.format("message count: %i", message_count))

@ -19,6 +19,8 @@
-- THE SOFTWARE. -- THE SOFTWARE.
require("zmq") require("zmq")
local socket = require"socket"
local time = socket.gettime
if not arg[3] then if not arg[3] then
print("usage: lua remote_lat.lua <connect-to> <message-size> <roundtrip-count>") print("usage: lua remote_lat.lua <connect-to> <message-size> <roundtrip-count>")
@ -36,19 +38,19 @@ s:connect(connect_to)
local msg = "" local msg = ""
for i = 1, message_size do msg = msg .. "0" end for i = 1, message_size do msg = msg .. "0" end
local start_time = os.time() local start_time = time()
for i = 1, roundtrip_count do for i = 1, roundtrip_count do
s:send(msg) s:send(msg)
msg = s:recv() msg = s:recv()
end end
local end_time = os.time() local end_time = time()
s:close() s:close()
ctx:term() ctx:term()
local elapsed = os.difftime(end_time, start_time) local elapsed = end_time - start_time
local latency = elapsed * 1000000 / roundtrip_count / 2 local latency = elapsed * 1000000 / roundtrip_count / 2
print(string.format("message size: %i [B]", message_size)) print(string.format("message size: %i [B]", message_size))

@ -40,7 +40,7 @@ for i = 1, message_count do
s:send(msg) s:send(msg)
end end
os.execute("sleep " .. 10) --os.execute("sleep " .. 10)
s:close() s:close()
ctx:term() ctx:term()

Loading…
Cancel
Save