js-compute-runtime
spidermonkey-wasi-embedding

js-compute-runtime | spidermonkey-wasi-embedding | |
---|---|---|
8 | 1 | |
200 | 4 | |
0.5% | - | |
9.5 | 10.0 | |
2 days ago | over 1 year ago | |
JavaScript | Shell | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
js-compute-runtime
-
What sorts of things would you consider to be “advanced” javascript concepts?
There are multiple JavaScript runtimes. SpiderMonkey is one example that has nothing to do with Node.js, see (js-compute-runtime)[https://github.com/fastly/js-compute-runtime].
- [AskJS] Has anybody implemented and compiled ServiceWorker specification to a standalone executable?
-
JavaScript support hits 1.0 milestone on Compute@Edge
We listened to the community feedback, filled in feature gaps, and addressed many bugs in the SDK. Not only that, we’ve also overhauled the SDK reference docs making it easier for you to know what’s supported and how to implement the features. All the Fastly specific features of the JS SDK now have interactive example applications in the documentation.
- Workerd: The Open Source Cloudflare Workers Runtime
-
Wasmtime 1.0
These are good questions! Here's some answers from the corner of the world I know best as a Wasmtime contributor at Fastly:
1. Spidermonkey.wasm is the basis of Fastly's JavaScript on Compute@Edge support. We have found it to be faster than QuickJS. The source code is here: https://github.com/fastly/js-compute-runtime.
2. Fastly Compute@Edge is built on wasmtime. You can develop web services for it in Rust, JS, and Go: https://developer.fastly.com/learning/compute/
3. Fastly's multi-tenant platform is closed source, but our single-tenant local development platform, which also uses wasmtime under the hood as well, is open source: https://github.com/fastly/viceroy. It isn't a big leap to make viceroy multi-tenant: Wasmtime provides everything you need, and all Viceroy would have to do is dispatch on e.g. HTTP host header to the correct tenant. Our multi-tenant platform is closed source because it is very specialized for use on Fastly's edge, not because the multi-tenant aspect is special.
- Fastly Compute Edge JavaScript Runtime
-
Debunking Cloudflare’s recent performance tests
btw. for what it's worth their javascript to wasm is opensource:
- https://github.com/fastly/js-compute-runtime
- https://github.com/tschneidereit/spidermonkey-wasi-embedding
and besides that it is slower than nodejs it is still plenty fast (no matter that it is not as fast as they want) btw. it's startup is faster than node. (maybe better pgo might help)
spidermonkey-wasi-embedding
-
Wasmtime 1.0
We worked with Igalia to upstream the SpiderMonkey patches required to build for wasm32-wasi. We point to a fixed version (see: https://github.com/fastly/spidermonkey-wasi-embedding) which we haven't updated for a minute.
What are some alternatives?
quickjs-rs - Rust wrapper for the quickjs Javascript engine.
wizard-engine - Research WebAssembly Engine
workerd - The JavaScript / Wasm runtime that powers Cloudflare Workers
javy - JS to WebAssembly toolchain
spidermonkey-wasi-embedding
Viceroy - Viceroy provides local testing for developers working with Compute.
wasm-micro-runtime - WebAssembly Micro Runtime (WAMR)
now - Node on Web
wasmer - 🚀 Fast, secure, lightweight containers based on WebAssembly
landlord - Provides the ability to run multiple JVM based applications on the one JVM
WASI - WebAssembly System Interface
