[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Upcoming changes in Lua 5.4
- From: Paige DePol <lual@...>
- Date: Mon, 8 Jan 2018 17:26:39 -0600
Roberto Ierusalimschy <roberto@inf.puc-rio.br> wrote:
>> One thing I am curious about, Roberto, is the creation of tables to hold the
>> vargs. Won't this add significant overhead for the table allocations vs just
>> leaving the vargs on the stack?
>
> That was the motivation for stack varargs. But "significant" is quite
> relative. Moreover, stack varargs add an overhead (a quite small one, but
> it is not zero) to all functions, even those not varargs. We do not see
> vararg functions in critical paths often. Several (most?) vararg functions
> have to create tables (or pay the price of 'select') anyway.
>
> More important, table is the bread-and-butter of Lua. If we start to
> demonise them, we are left with little else.
>
> -- Roberto
Very good point about tables, Roberto! I would guess that anyone looking
for performance probably wouldn't be using varargs on critical paths anyway.
I do like the much nicer syntax for using varargs vs select() as well!
~Paige