# Summary
JavaScript parsing and compilation are performance bottlenecks. The
JavaScript Binary AST is a domain-specific content encoding for
JavaScript, designed to speed up parsing and compilation of JavaScript,
as well as to allow streaming compilation of JavaScript (and possibly
streaming startup interpretation).
We already get a 30-50% parsing improvement by just switching to this
format, without any streaming code optimization, and we believe that we
can go much further. We wish to implement
`application/javascript+binast` so as to start experiments with partners.
# Bug
Bug 1451344
# Link to standard
This content encoding is a JS VM technology, with an entry point for
loading in the DOM.
- DOM level: No proposal yet.
https://github.com/binast/ecmascript-binary-ast/issues/27
- JS level (high):
https://binast.github.io/ecmascript-binary-ast/
- JS level (low): No proposal yet.
https://binast.github.io/binjs-ref/binjs_io/multipart/index.html#overview
# Platform coverage
All.
# Estimated or target release
For the moment, no target release. We are still in the experimentation
phase.
# Preference behind which this will be implemented
dom.script.enable.application_javascript_binast
# Is this feature enabled by default in sandboxed iframes?
This is just a compression format, should make no change wrt security.
# DevTools bug
Bug 1454990
# Do other browser engines implement this?
Not yet. We are still in the experimentation phase.
# web-platform-tests
No web platform specification yet.
# Secure contexts
Let's restrict this to secure contexts.