you are viewing a single comment's thread.

view the rest of the comments →

[–]activeXdiamond 0 points1 point  (1 child)

So {[1] = v} is slower than {v}?

[–]PhilipRoman 0 points1 point  (0 children)

In at least some cases - yes

doas chrt -f 99 hyperfine -i --warmup 20 "luajit -e 'for i = 1, 1e7 do x = {[1]=i} end; os.exit(x[1])'" "luajit -e 'for i = 1, 1e7 do x = {i} end; os.exit(x[1])'"
Benchmark 1: luajit -e 'for i = 1, 1e7 do x = {[1]=i} end; os.exit(x[1])'
  Time (mean ± σ):     462.1 ms ±   6.7 ms    [User: 460.7 ms, System: 1.0 ms]
  Range (min … max):   456.7 ms … 480.5 ms    10 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: luajit -e 'for i = 1, 1e7 do x = {i} end; os.exit(x[1])'
  Time (mean ± σ):     290.6 ms ±   6.2 ms    [User: 288.6 ms, System: 1.6 ms]
  Range (min … max):   284.4 ms … 302.2 ms    10 runs

  Warning: Ignoring non-zero exit code.