Advertisement
Akuukis

Memory Testing Tables

Aug 26th, 2014
661
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. -- Updated Aug 31, 2014
  2. -- Swap commented lines for (1) or (2) depending what you want to do
  3.  
  4. local c = require("computer")
  5. function freeMemory()
  6. local result = 0
  7. for i = 1, 10 do
  8. result = math.max(result, c.freeMemory())
  9. os.sleep(0)
  10. end
  11. return result
  12. end
  13.  
  14. local num = tonumber(... or 1) -- (1) to count table size
  15. local avg=0
  16. local table={}
  17. for i=1,50 do table[i]={
  18. -- [1] = nil -- (2) to inflate the table before checking its size
  19. } end
  20. print("start with ",freeMemory())
  21. for i=1,36 do
  22. local temp1 = freeMemory()
  23. for j=1,num do table[i][j]=j end -- (1) to count table size
  24. --table[i][1] = load("return "..(...))() -- (2) to check size for whatever you want
  25. local temp2 = freeMemory()
  26. avg = (avg*(i-1) + (temp1-temp2)) / i
  27. if i%1==0 then print("Table No."..i, temp1-temp2, math.floor(avg*10)/10, freeMemory()) end
  28. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement