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 <jasper@klein.re> escreveu:
Op Sun, 06 Dec 2020 13:28:46 +0100 schreef Ranier Vilela <ranier.vf@gmail.com>:

> Em sáb., 5 de dez. de 2020 às 23:18, Andrew Gierth <
> andrew@tao11.riddles.org.uk> 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.
https://youtu.be/yG1OZ69H_-o?t=2395
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