비교 목록으로 돌아가기
TypeScript 런타임

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.

나란히 비교

기능PerryDeno
Execution modelLLVM ahead-of-time machine codeV8 through the bundled Deno runtime
Standalone executableTarget-specific native binaryProgram plus slimmed-down Deno runtime
Runtime modelPerry runtime + GC statically linked; no JS engine by defaultDeno runtime and V8 embedded
PermissionsOperating-system process permissionsRuntime permission flags and policy
Native UI and mobilePerry UI targets desktop, mobile, wearable, TV, and Web/WASMRuntime/CLI/server focus
CompatibilityPractical subset; optional V8 fallbackV8 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.

출처

Perry 사용해보기

오늘 바로 TypeScript를 네이티브로 컴파일하세요.

시작하기