-
Notifications
You must be signed in to change notification settings - Fork 5.4k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What takes up space in deno? #9243
Comments
I think this is a very interesting question:
The actual bare minimum code required for us to execute JS (without TS support) is 32.7 MB on linux (see denort in filesize benchmark here: https://deno.land/benchmarks#executable-size). Compared to Node we are doing very well. Node.js is 92.7 MB on Linux (v15.6.0 downloaded from https://nodejs.org/en/), and does not contain a built in linter, formatter, doc generator, coverage tool, typescript compiler and package manager. Just the Deno runtime (without tooling) is about 2.8x smaller than all of Node. Even Deno with all of its built in tooling is still 1.75x smaller than Node. |
Deno's been growing and I've been trying to distribute as-small-as-possible I think it's ICU data and WebGPU? @lucacasonato do you know if that's what the jumps in the graph are from? I found 0cf952e which shows a 10MB ICU data payload. I read through an article about reducing Rust binary size but learned that Deno has already enabled those size optimizations. So I'll post some findings on stripping the binaries and using
Doesn't tell me much but it looks like V8 is now less than the previously mentioned size of 10-15MB. Stripping the binaries produces a 38MB executable for Linux, which is great:
|
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Genuine question, want to understand.
Js in WASM (4mb): https://github.com/mbbill/JSC.js
Stand-alone WASM runtime (4mb): https://github.com/bytecodealliance/wasmtime
There’s clearly a heap of functionality missing when comparing JS in a standalone WASM runtime to Deno. My naive question is this, what features make up the difference in binary size? Is it mostly file and network IO?
The text was updated successfully, but these errors were encountered: