This is nifty from a code perspective, but it seems it's been overtaken by Minetest development. Testing the benchmarks on modern Minetest 5.7.0 with JIT shows this takes roughly twice as long as standard vectors (which include handy metatable functions now, too).
Standard results:
[Server]: [benchmark_engine] benchmark results for metavectors:standardvectors
run 2000/2000 times after 5000 times warmup
min: 0.000003 s
average: 0.000005 s
max: 0.000332 s
total time: 0.009301 s
Metavector results:
[Server]: [benchmark_engine] benchmark results for metavectors:metavectors
run 2000/2000 times after 5000 times warmup
min: 0.000006 s
average: 0.000011 s
max: 0.002573 s
total time: 0.022250 s
This is nifty from a code perspective, but it seems it's been overtaken by Minetest development. Testing the benchmarks on modern Minetest 5.7.0 with JIT shows this takes roughly twice as long as standard vectors (which include handy metatable functions now, too).
Standard results:
Metavector results: