On Tue, May 14, 2019 at 4:29 PM Benjamin Morel <benjamin.mo...@gmail.com>
wrote:

> I like the explicitness of the proposal, but only if performance is as
> good as (array) cast. One of the reasons we use casting to array in
> libraries is not only to access all properties at once, but also because
> it's fast as it's implemented as an opcode and not a function call. Would
> this function come with its own opcode, like strlen() / gettype() / etc.?
>
> Ben
>

I don't think an opcode is worthwhile in this case, because the primary
cost is in constructing the property array. On this micro-benchmark
https://gist.github.com/nikic/f592686c75d8d34d82ddc5900b598199 the results
are:

array cast: float(0.39156699180603)
get_mangled_object_vars(): float(0.41520500183105)

So no relevant difference in performance.

Nikita

Reply via email to