javascript engine / 자바스크립트 런타임 /
js runtime
js runtime 이 여러개인 이유는 서버쪽에서의 사용을 위해서이다. client 쪽에서는 browser 에 포함되어(embeded) 있기 때문에 다른 runtime 을 쓰는 것이 어렵지만, 서버쪽은 그렇지 않다.
이것은 이전의 다른 언어에서 비슷한 특징을 찾는다면 java의 jvm 이나, python 의 interpreter 들이 있을 듯 하다. jvm 도 여러회사에서 각자의 jvm 버전을 가지고 있으며, python 의 pypy 같은 다른 interpreter 가 있다.
- V8 JavaScript engine : chrome 의 js engine, c++ 로 만들어짐
- Deno — A modern runtime for JavaScript and TypeScript : Ryan Dahl 가 만든 runtime
- cloudflare/workerd: The JavaScript / Wasm runtime that powers Cloudflare Workers : Cloudflare Workers 의 자체 js runtime
- fresh - The next-gen web framework. : Deno 의 JIT edge 렌더링 SSR 프레임워크 No1knowspwincloudflare!
- Bun — A fast all-in-one JavaScript runtime : zig 로 만들어짐
How does Bun work?
Bun uses the JavaScriptCore engine, which tends to start and perform a little faster than more traditional choices like V8. Bun is written in zig, a low-level programming language with manual memory management.
Most of Bun is written from scratch including the JSX/TypeScript transpiler, npm client, bundler, SQLite client, HTTP client, WebSocket client and more. Why is Bun fast?
An enormous amount of time spent profiling, benchmarking and optimizing things. The answer is different for every part of Bun, but one general theme: ’s low-level control over memory and lack of hidden control flow makes it much simpler to write fast software.
deepl 번역:
Bun은 어떻게 작동하나요?
Bun은 JavaScriptCore 엔진을 사용하는데, 이는 V8과 같은 기존 엔진보다 시작과 실행 속도가 조금 더 빠릅니다. Bun은 수동 메모리 관리 기능을 갖춘 저수준 프로그래밍 언어인 zig로 작성되었습니다.
JSX/TypeScript 트랜스파일러, npm 클라이언트, 번들러, SQLite 클라이언트, HTTP 클라이언트, 웹소켓 클라이언트 등 Bun의 대부분은 처음부터 새로 작성되었습니다. Bun이 빠른 이유는 무엇인가요?
프로파일링, 벤치마킹, 최적화에 엄청난 시간을 투자하기 때문입니다. Bun의 각 부분마다 답은 다르지만 한 가지 일반적인 주제가 있습니다: 메모리에 대한 낮은 수준의 제어와 숨겨진 제어 흐름이 없기 때문에 빠른 소프트웨어를 훨씬 더 간단하게 작성할 수 있다는 것입니다. Zig 소프트웨어 재단을 후원하세요.
댓글 없음:
댓글 쓰기