Perry vs Deno
Deno compile produces a standalone executable by bundling a slimmed-down Deno runtime with the program. Perry compiles supported code through LLVM and does not include a JavaScript engine by default, while statically linking its own runtime and GC.
技術的な事実と測定上の注意事項は、翻訳間のずれを防ぐため英語を正本として管理しています。
Deno とは?
Deno is a JavaScript and TypeScript runtime with built-in tooling and a permissions model. Its official compile documentation describes a standalone executable that contains the program and a slimmed-down Deno runtime.
Perry とは?
Perry parses TypeScript and JavaScript with SWC and compiles supported code ahead of time through LLVM. Native builds do not require an external Node.js installation or JavaScript engine, but they do statically link the Perry runtime and garbage collector. Perry is pre-1.0, implements a practical language and Node.js subset, and offers an optional embedded V8 fallback for code that needs engine semantics.
並べて比較
| 機能 | Perry | Deno |
|---|---|---|
| Execution model | LLVM ahead-of-time machine code | V8 through the bundled Deno runtime |
| Standalone executable | Target-specific native binary | Program plus slimmed-down Deno runtime |
| Runtime model | Perry runtime + GC statically linked; no JS engine by default | Deno runtime and V8 embedded |
| Permissions | Operating-system process permissions | Runtime permission flags and policy |
| Native UI and mobile | Perry UI targets desktop, mobile, wearable, TV, and Web/WASM | Runtime/CLI/server focus |
| Compatibility | Practical subset; optional V8 fallback | V8 plus Deno, web, and Node compatibility layers |
Perry が優れている点
- +Native-widget UI targets
- +No JavaScript engine in native output by default
- +Mobile, wearable, TV, and Web/WASM target model
- +Small outputs are possible for narrowly linked applications
Deno が優れている点
- +Mature runtime and tooling
- +Granular runtime permissions
- +Broad dynamic JavaScript and package compatibility
- +Built-in formatter, linter, test runner, and related tools
Perry を選ぶべきとき
Choose Perry for validated native applications where its targets, UI model, and AOT tradeoffs fit the product.
Deno を選ぶべきとき
Choose Deno for runtime-centric server, CLI, or scripting work where its permissions model, tooling, and V8 compatibility are more important.
結論
Both can ship one file, but one file does not mean the same architecture. Compare your actual application rather than extrapolating from hello world or a microbenchmark.