[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Lua and C++ memory
- From: "Pixel Pusher" <pixpush@...>
- Date: Wed, 21 Nov 2007 02:28:02 +0100
Hi all,
I'm pretty new to Lua but not new to scripting in general, so I was wondering how Lua uses memory regarding "tables", "userdata" and userdata-in-tables.
Let me clear the question with an example. Say Lua is getting C++ classes through the userdata mechanism, and that this same userdata "travels" (gets referenced) in many different tables throughout the scripts...would the memory be consumed by such a behavior ?
(I've read userdata is basically a pointer...so it shouldn't...)
Example:
(Lua)
---------------------------
mytable = {}
mytable.class = CPP_Class() -- creates a new class object in Lua and stores in a Lua table.
-- issue 1:
mytable2 = {}
mytable2 = mytable -- is the userdata in .class only referenced or "copied", thus consuming more memory ?
--issue 2:
mytable3 = {}
mytable3.class
= mytable.class
mytable3.table1 = mytable
mytable3.table2 = mytable2
---------------------------
At this point I have like 5 references of CPP_Class in tables members. Does it take 5 times the memory for the class or not ?
Thank you for any answer.