Skip to content

Instantly share code, notes, and snippets.

@LaineZ
Created September 7, 2018 17:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LaineZ/59866d50d9efc2284d497eab1c0cc201 to your computer and use it in GitHub Desktop.
Save LaineZ/59866d50d9efc2284d497eab1c0cc201 to your computer and use it in GitHub Desktop.
local ins = {}
FILE = "tmpfile.txt"
CYCLES = 20
function average(inmassiv)
local rezik = 0
for i = 1, #inmassiv do
rezik = inmassiv[i] + rezik
end
return rezik / #inmassiv
end
for i = 1, CYCLES do
local res = {}
file = io.open(FILE, "w")
local alltime = os.clock()
for i = 1, 100000 * i do
local s = os.clock()
file:write(math.random(0,999999999).."rippo\n")
table.insert(res, os.clock() - s)
end
print("dest: ".. FILE .." | "..i..": write ("..100000 * i.." lines): "..os.clock() - alltime .." seconds / one line average: "..average(res) * 1000000 .." us")
file:close()
res = {}
alltime = os.clock()
for l in io.lines(FILE) do
local s = os.clock()
table.insert(ins, l)
table.insert(res, os.clock() - s)
end
print("dest: ".. FILE .." | "..i..": read ("..100000 * i.." lines): "..os.clock() - alltime .." seconds / one line average: "..average(res) * 1000000 .." us")
res = {}
alltime = os.clock()
for l in io.lines(FILE) do
local s = os.clock()
if string.find(l, ".*.*.*.*.*.*.*.*.*\0") then
table.insert(ins, l)
end
table.insert(res, os.clock() - s)
end
print("dest: ".. FILE .." | "..i..": read(with substrings) ("..100000 * i.." lines): "..os.clock() - alltime .." seconds / one line average: "..average(res) * 1000000 .." us")
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment