ErosZy / Sablejs
Licence: apache-2.0
🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript
Stars: ✭ 60
Programming Languages
javascript
184084 projects - #8 most used programming language
Labels
Projects that are alternatives of or similar to Sablejs
Eval5
A JavaScript interpreter written in TypeScript - Support ES5
Stars: ✭ 281 (+368.33%)
Mutual labels: interpreter, sandbox
jsish
Jsi is a small, C-embeddable javascript interpreter with tightly woven Web and DB support.
Stars: ✭ 32 (-46.67%)
Mutual labels: interpreter, sandbox
Wasm3
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Stars: ✭ 4,375 (+7191.67%)
Mutual labels: interpreter, sandbox
Mir
A light-weight JIT compiler based on MIR (Medium Internal Representation)
Stars: ✭ 1,075 (+1691.67%)
Mutual labels: interpreter
U6a
Implementation of Unlambda, an esoteric programming language.
Stars: ✭ 46 (-23.33%)
Mutual labels: interpreter
Winter
Haskell port of the WebAssembly OCaml reference interpreter
Stars: ✭ 42 (-30%)
Mutual labels: interpreter
Littlelang
A little language interpreter written in Go
Stars: ✭ 56 (-6.67%)
Mutual labels: interpreter
Postman Sandbox
Sandbox for Postman Scripts to run in Node.js or browser
Stars: ✭ 47 (-21.67%)
Mutual labels: sandbox
Tablam
The practical relational programing language for data-oriented applications
Stars: ✭ 55 (-8.33%)
Mutual labels: interpreter
O
Language for code-golf with a focus on unreadability
Stars: ✭ 46 (-23.33%)
Mutual labels: interpreter
Reoscript
JavaScript-like script language engine for .NET Application. Easy to plug in .NET Application and making API extension for script. Enhanced syntax and features are also available such as lambda expression, call setTimeout with arguments, etc...
Stars: ✭ 57 (-5%)
Mutual labels: interpreter
Componentfixture
🛠️Interactive sandox playground for vue components
Stars: ✭ 44 (-26.67%)
Mutual labels: sandbox
Pythonvm Rust
An incomplete stackless interpreter of Python bytecode, written in Rust.
Stars: ✭ 50 (-16.67%)
Mutual labels: interpreter
Yasl
Bytecode Interpreter for Yet Another Scripting Language (YASL).
Stars: ✭ 55 (-8.33%)
Mutual labels: interpreter
Mikrokosmos
(λ) Educational lambda calculus interpreter
Stars: ✭ 50 (-16.67%)
Mutual labels: interpreter
Cymbal
Yet another Rust implementation of the Monkey language from "Writing an Interpreter in Go" and "Writing a Compiler in Go"
Stars: ✭ 49 (-18.33%)
Mutual labels: interpreter
sablejs
🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript, it can be used:
- Sandbox(like Figma Plugin Sandbox, but better and easy to use);
- Mini Program/Game JavaScript dynamic execution;
- Protect JavaScript source code via AOT compiling to opcode;
sablejs may be the fastest interpreter written by JavaScript (using v8 benchmark suites):
Benchmark Enviorment:
- Node.js v12.19.0
- Golang 1.15.6
- GCC 5.4.0 -O3
- 2.4 GHz Intel Core i9
- MacOS Mojave 10.14.6 (18G6032)
sable.js | sval | eval5 | quickjs-wasm | mujs | otto | goja | |
---|---|---|---|---|---|---|---|
Language | JavaScript | JavaScript | JavaScript | C + WebAssembly | C | Golang | Golang |
Richards | 112 | 29.4 | 25.1 | 347 | 187 | 23.4 | 210 |
Crypto | 120 | 28.8 | 21.4 | 412 | 113 | 19.2 | 107 |
RayTrace | 297 | 102 | 102 | 512 | 392 | 64.5 | 301 |
NavierStokes | 179 | 38.0 | 53.1 | 701 | 109 | 31.4 | 191 |
Total score | 164 | 42.5 | 41.3 | 476 | 173 | 30.9 | 190 |
Baseline | 1 | ▼ 2.86 | ▼ 2.97 | ▲ 1.90 | ▲ 0.05 | ▼ 4.30 | ▲ 0.16 |
File Size(KB) | VM: 134 | 152 | 134 | 434 | - | - | - |
Gzip Size(KB) | VM: 20 | 40 | 34 | 245 | - | - | - |
Current progress:
- Except for JSON, other logic has been completed
- Test262 has been integrated, now covered ~70% cases
It will be coming soon...
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].