t_start, t_end, result_num = nil
-- fill a table with 15 million random numbers
my_table = {}
for fillop = 1, 15000000 do
table.insert( my_table, math.random() )
end
-- test normal forloop to add all the numbers
result_num = 0
t_start = os.clock()
for i = 1, #my_table do
result_num = result_num + my_table[i]
end
t_end = os.clock()
print( "Normal for loop took " .. ( t_end - t_start ) .. " seconds to complete." )
-- test pairs() to add all the numbers
result_num = 0
t_start = os.clock()
for k,v in pairs( my_table ) do
result_num = result_num + v
end
t_end = os.clock()
print( "pairs took " .. ( t_end - t_start ) .. " seconds to complete." )
-- test next to add all the numbers
result_num = 0
t_start = os.clock()
for k,v in next, my_table, nil do
result_num = result_num + v
end
t_end = os.clock()
print( "next took " .. ( t_end - t_start ) .. " seconds to complete." )
dF9zdGFydCwgdF9lbmQsIHJlc3VsdF9udW0gPSBuaWwKCgoKLS0gZmlsbCBhIHRhYmxlIHdpdGggMTUgbWlsbGlvbiByYW5kb20gbnVtYmVycwoKbXlfdGFibGUgPSB7fQoKZm9yIGZpbGxvcCA9IDEsIDE1MDAwMDAwIGRvCgkKCXRhYmxlLmluc2VydCggbXlfdGFibGUsIG1hdGgucmFuZG9tKCkgKQoJCmVuZAoKCgotLSB0ZXN0IG5vcm1hbCBmb3Jsb29wIHRvIGFkZCBhbGwgdGhlIG51bWJlcnMKCnJlc3VsdF9udW0gPSAwCgp0X3N0YXJ0ID0gb3MuY2xvY2soKQoKZm9yIGkgPSAxLCAjbXlfdGFibGUgZG8KCQoJcmVzdWx0X251bSA9IHJlc3VsdF9udW0gKyBteV90YWJsZVtpXQoJCmVuZAoKdF9lbmQgPSBvcy5jbG9jaygpCgpwcmludCggIk5vcm1hbCBmb3IgbG9vcCB0b29rICIgLi4gKCB0X2VuZCAtIHRfc3RhcnQgKSAuLiAiIHNlY29uZHMgdG8gY29tcGxldGUuIiApCgoKCi0tIHRlc3QgcGFpcnMoKSB0byBhZGQgYWxsIHRoZSBudW1iZXJzCgpyZXN1bHRfbnVtID0gMAoKdF9zdGFydCA9IG9zLmNsb2NrKCkKCmZvciBrLHYgaW4gcGFpcnMoIG15X3RhYmxlICkgZG8KCQoJcmVzdWx0X251bSA9IHJlc3VsdF9udW0gKyB2CgkKZW5kCgp0X2VuZCA9IG9zLmNsb2NrKCkKCnByaW50KCAicGFpcnMgdG9vayAiIC4uICggdF9lbmQgLSB0X3N0YXJ0ICkgLi4gIiBzZWNvbmRzIHRvIGNvbXBsZXRlLiIgKQoKCgotLSB0ZXN0IG5leHQgdG8gYWRkIGFsbCB0aGUgbnVtYmVycwoKcmVzdWx0X251bSA9IDAKCnRfc3RhcnQgPSBvcy5jbG9jaygpCgpmb3Igayx2IGluIG5leHQsIG15X3RhYmxlLCBuaWwgZG8KCQoJcmVzdWx0X251bSA9IHJlc3VsdF9udW0gKyB2CgkKZW5kCgp0X2VuZCA9IG9zLmNsb2NrKCkKCnByaW50KCAibmV4dCB0b29rICIgLi4gKCB0X2VuZCAtIHRfc3RhcnQgKSAuLiAiIHNlY29uZHMgdG8gY29tcGxldGUuIiAp