m
→Frames
No edit summary |
m (→Frames) |
||
| Line 49: | Line 49: | ||
=== Frames === | === Frames === | ||
Since a bulk of a frame's existence is on the C++ side of things, it's a bit difficult to get a true sense of their memory impact, however it's possible to measure the lua footprint of the frame alone. It turns out that a frame's lua footprint is initially just the size of its table representation (76 bytes, in WoW 2.2), there doesn't appear to be any other "magic" internal repository of other data. | Since a bulk of a frame's existence is on the C/C++ side of things, it's a bit difficult to get a true sense of their memory impact, however it's possible to measure the lua footprint of the frame alone. It turns out that a frame's lua footprint is initially just the size of its table representation (76 bytes, in WoW 2.2), there doesn't appear to be any other "magic" internal repository of other data. | ||
Having said that, it's a little tricky to fully test this because many of lua's internal structures (The global environment, the lua string table, the internal C library reference table) are dynamically managed and grow with the exponential algorithm mentioned earlier, so it's possible that there's some table entries there being consumed by the frames. | Having said that, it's a little tricky to fully test this because many of lua's internal structures (The global environment, the lua string table, the internal C library reference table) are dynamically managed and grow with the exponential algorithm mentioned earlier, so it's possible that there's some table entries there being consumed by the frames. | ||