>>>>> "Ranier" == Ranier Vilela <email@example.com> writes:
Ranier> Lua C api, could also benefit from the use of unsigned int,
Ranier> uniform, in table functions.
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".