[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: 5.4 with arrays patch (work in progress)
- From: Petri Häkkinen <petrih3@...>
- Date: Sun, 18 Mar 2018 16:25:26 +0200
>
> Anyone willing to step up and write a patch for arrays? I bet it would solve the issues with #, make Lua code clearer about its intent and also give a nice perf boost. As arrays would be a new lang feature, existing code would not be affected at all.
>
> A good proof of concept and demonstration how it solves the issues might be all that is needed to convince Roberto et all that this is the right way to go ;-)
>
> Heck, this could be the killer feature of 6.0 that would make people stuck in 5.1 to jump aboard.
>
> If not, then at least we could drop this talk about arrays and move on.
>
> Any takers?
>
> Petri
Well, I took a stab at it myself for some Sunday fun. It’s still very much work in progress, but the initial results seem promising.
Here are some benchmarking results for a large number of table reads/writes vs. array reads/writes.
Lua 5.4
Table read: 4.115617s
Table write: 5.933821s
Lua 5.4 + array patch:
Array read: 3.505753s
Array write: 5.105415s
The table/array used for benchmarking is only 16 elements. I would expect the speed difference to be even larger with larger data set.
Arrays are currently fixed size (their size can’t be changed after creation). I’ll work on it next.
Code and benchmarks at: https://github.com/petrihakkinen/lua-array
I’ll continue working on this, but I could use some help with the parser, if anyone’s interested. I would very much like to add "[…]" constructor syntax for arrays. E.g. [1,2,3]
Cheers,
Petri