[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Memory Size of 1 Mio Point Polyline table?
- From: bil til <biltil52@...>
- Date: Tue, 25 Oct 2022 12:46:56 +0200
Am Di., 25. Okt. 2022 um 10:40 Uhr schrieb Viacheslav Usov <via.usov@gmail.com>:
>
> As already discussed, compilers would by default make structures at
> least a multiple of 4 bytes on 32-bit platforms, thus struct {int foo;
> char bar; } would be "wasting" at least three bytes. This is the
... yes, this is correct.
But if you pack these structs in a table list, you can do it either way... .
This depends how the table is programmed.
(using the attribute <packed> in C compiler (e. g. ARM-CC) for such
table struct array would skip those 3 "extra bytes". In this case then
you have to be careful, as your TValue fields are not aligned any
more. So to extract a TValue field, it will be ultimately required to
use memcpy... to copy the 5 bytes to an aligned TValue).
Thank you for pointing this out ... this I did not really check out
further in my lengthy checking above, how the indexed memory part of
tables is organized... this is a bit over my scope in the Lua source
code overview, I am frightened :) .
So still the question open, whether the polyline in Lua32 this would
consume 2x5MByte, or 2x8MByte... , you are perfectly right.