lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Em dom., 6 de dez. de 2020 às 11:04, Jasper Klein <> escreveu:
Op Sun, 06 Dec 2020 13:28:46 +0100 schreef Ranier Vilela <>:

> Em sáb., 5 de dez. de 2020 às 23:18, Andrew Gierth <
>> escreveu:

>> Using unsigned rather than signed integers is sometimes detrimental to
>> performance and essentially never beneficial; the reason is that the
>> compiler is allowed to do some optimizations with signed values that are
>> not allowed on unsigned ones.
> This contradicts everything I've studied about optimizations.
> For loops, the quickest option, are variables with the natural size of the
> machine.
> What in 64 bits means 8 bytes, int in 64 bits is 32 bits.
> Which leads the compiler to make implicit conversions to use the variables
> that index the arrays in Lua,
> that today, all are 32 bits.
> In addition, it is not possible to create the largest possible table that
> fits in "unsigned int".
> Ranier Vilela

Maybe this part of a talk by Chandler Carruth is interesting for you.
No. I do not care.
I have always used unsigned types in my loops, without any error.
By the way I always use sizet_t, which represents the machine's natural word,
which in 64 bits makes my arrays able to have the size of [0, +18,446,744,073,709,551,615] range.

Ranier Vilela