The difference is at the level of error, the first test is normal, the second cycles have swapped places.
```
cat test.lua ; alua test.lua ; cat swap_tests.lua ; alua swap_tests.lua
local t1 = {x = 0, y = 0}
local t2 = {X = 0, Y = 0}
start = os.clock() for i = 1, 50000000 do t1.x = t1.x + 1 t1.y = t1.y + 1 end
print(os.clock() - start)
start = os.clock() for i = 1, 50000000 do t2.X = t2.X + 1 t2.Y = t2.Y + 1 end
print(os.clock() - start)
βΊβββββββββββ luajit βββββββββββββΊ
0.075292
0.063305
βΊβββββββββββ lua5.1 βββββββββββββΊ
4.589889
4.608593
βΊβββββββββββ lua5.2 βββββββββββββΊ
4.537976
4.585994
βΊβββββββββββ lua5.3 βββββββββββββΊ
3.79108
3.852186
βΊβββββββββββ lua5.4 βββββββββββββΊ
3.17556
3.153118
βΊβββββββββββ lua5.5 βββββββββββββΊ
2.996931
3.008384
local t1 = {x = 0, y = 0}
local t2 = {X = 0, Y = 0}
start = os.clock() for i = 1, 50000000 do t2.X = t2.X + 1 t2.Y = t2.Y + 1 end
print(os.clock() - start)
start = os.clock() for i = 1, 50000000 do t1.x = t1.x + 1 t1.y = t1.y + 1 end
print(os.clock() - start)
βΊβββββββββββ luajit βββββββββββββΊ
0.070102
0.066586
βΊβββββββββββ lua5.1 βββββββββββββΊ
4.773055
4.861655
βΊβββββββββββ lua5.2 βββββββββββββΊ
4.388561
4.395681
βΊβββββββββββ lua5.3 βββββββββββββΊ
3.605546
3.91049
βΊβββββββββββ lua5.4 βββββββββββββΊ
2.996931
3.008384
βΊβββββββββββ lua5.5 βββββββββββββΊ
4.366968
4.363553
```
If you disable garbage collection, the values are about the same. I have a dynamic processor frequency, I ran tests 4 times, the difference for the same case is 0.5 seconds, depending on the frequency and load of the processor. In short, I do not see a correlation between speed and UP/lowΠ²ΠΎΡΠΊΡΠ΅ΡΠ΅Π½ΡΠ΅, 20 ΠΈΡΠ»Ρ 2025β―Π³. Π² 18:03:34 UTC+3, Sainan: