I suppose you could do inter language modules via Emscripten llvm backend. If 
it compiles to asm.js, the ownership semantics in Rust may or may not translate 
to lighter memory requirements in the VM; not sure. It would kind of be the 
worst of both worlds, I would think.

@AaronNGray

I dunno why this came up. Rust is a hot thing right now; people like to mix and 
match. Maybe you could leverage the huge number of NPM modules while 
reimplementing the hot parts of your code in Rust.

Rust is a very verbose language that precisely denotes who owns data. This 
means the system doesn't have to allocate extra data speculatively (memory 
savings), vulnerabilities and leaks are circumvented (error savings), and 
function calls are monomorphic (optimization boost). JS function calls 
frequently break monomorphism, which disrupt the poor JIT compiler's attempts 
to streamline things. See link: 
http://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html

Rust is not exactly web server oriented, and the current APIs are mostly 
blocking. So I don't think putting rust into node makes a lot of sense. It 
might make a lot of sense for your node app to use add-ons written in Rust, 
though. E.g., a graphics processing addon could easily manage a thread pool 
safely and efficiently to handle jobs from node. It doesn't have to worry about 
blocking as much as your node app does. Rust is more for the endpoints, that do 
the actual computational heavy lifting. Node apps tend to be intermediate 
nodes. They stand between the web and something else: a database, filesystem, 
or number crunching endpoint (like a graphics library).

Hypothetically, you might build an API for a service similar to tinyPNG.com 
implemented as a node app. It might hand off jobs to a library similar to 
pngcrush that might be implemented in Rust.

I was at a talk with Steve Klabnik today and he said crates.io uses 25MB to run 
their package manager server. Of course, V8 has a large minimum memory 
footprint and GC memory usage can easily get out of control. Rust sounds like 
an efficient and robust systems programming language, but you have to think 
hard about a lot of details most smaller companies won't want to worry about 
when they're building a web API.

Just my take.

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/60452cfe-2cf8-41e4-8542-e536561412dd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to