Proxy performance: JIT-compilation?
allen at wirfs-brock.com
Fri Aug 4 21:52:42 UTC 2017
> On Aug 4, 2017, at 2:22 PM, Mark S. Miller <erights at google.com> wrote:
> At https://github.com/tvcutsem/es-lab/issues/21 <https://github.com/tvcutsem/es-lab/issues/21> Tom and I have an idea (that we should turn into a proposal) for a subtle change to proxy semantics that
> * should break essentially no current code,
> * repair the cycle detection transparency violation bug,
> * enable many proxies to be *much* faster.
I actually don’t see why any semantic changes are needed to enable better Proxy performance. One abstractions are sufficiently lowered, a proxy trap invocation is just a series of procedure calls (some dynamically dispatched; some to built-in procedures). I don’t see any reason why the same sort of PIC+dynamic typed based specialization+inlining that is used to optimize more conventional JS code isn’t also applicable to Proxy using code.
I don’t think the barriers to such optimization are technical. It’s more a matter of convincing that engine implementors that doing the work (probably significant) to optimizing Proxies in this manner is a sound investment and hight priority
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss