ECOOP 2016 (series) / ICOOOLPS 2016 (series) / ICOOOLPS /
The Performance of Object Encodings in JavaScript
We investigate how to represent objects when JavaScript is used as a compilation target.
This is an interesting question because JavaScript is the object language of choice for compiler writers who wish to ”the Internet“, and because JavaScript offers many ways to say the same thing.
We looked at three axes of variability: whether an object’s methods are stored in the object itself, or in a prototype; whether the object uses Javascript’s closures or builds its own, and whether an object’s fields are accessed directly or via accessor methods.
The results reveal that certain variations are more than a hundred times faster than others. We conclude that the particular choices we make may be critical.
Preprint (icooolps-final6.pdf) | 185KiB |
Mon 18 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Mon 18 Jul
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:05 - 12:25 | |||
10:05 60mTalk | Beneath the Bytecode: Observing the JVM at Work Using Bytecode Instrumentation ICOOOLPS Lubomír Bulej Charles University Media Attached File Attached | ||
11:05 30mTalk | The Performance of Object Encodings in JavaScript ICOOOLPS Media Attached File Attached | ||
11:35 30mTalk | Virtual Machine Warm-up Blows Hot and Cold ICOOOLPS Edd Barrett King's College London, CF Bolz-Tereick King's College London , Rebecca Killick Department of Mathematics and Statistics, University of Lancaster, Vincent Knight School of Mathematics, Cardiff University, Sarah Mount King's College London, Laurence Tratt King's College London Link to publication Media Attached File Attached | ||
12:05 20mOther | Discussions ICOOOLPS |