# Saw this on the JS runtime. Is this of interest to anyone

**URL:** <https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755>\
**Category:** General\
**Created:** [8 September 2026 20:50 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755 "2026-09-08T20:50:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [8 September 2026 20:50 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/1 "2026-09-08T20:50:31Z")

</div>

Sorry, it does seem interesting on how the runtime has been completely rebuilt.

[![](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/c/8c23f54638a22f71dd15a5d73e17936ba5e8434b.jpeg "Bun vs Node: How One Person Rebuilt the JavaScript Runtime") ](https://www.youtube.com/watch?v=WB-0G0gl5F4)

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [8 September 2026 21:48 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/2 "2026-09-08T21:48:02Z")

</div>

I think I've posted about trying Node-RED with Bun and Deno previously. If I remember correctly, last time I tried, I think I did manage to run Node-RED with Bun.

The main trouble is, like using pnpm instead of npm, the alternatives are not direct replacements for all situations and they are relatively minor in use. So there doesn't seem to be a way to be certain that things will work. It doesn't seem worth the effort you need to put in vs the potential reward you might get.

Bun and Deno are certainly useful for forcing the NodeJS project to move forward and they can be really good for specific projects. But Node-RED is a general compute platform with thousands of extension packages and running under an alternative runtime is somewhat risky.

You might remember that there was a split previously when some folk got fed up with the limited development of NodeJS. Eventually, the split was forced to re-consolidate again. Not sure that will happen this time but that is another risk.

---

<div class="post-metadata">

**Author:** ![kevinGodell](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kevingodell/32/27040_2.png) [@kevinGodell](https://discourse.nodered.org/u/kevinGodell)\
**Post date:** [9 September 2026 00:35 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/3 "2026-09-09T00:35:42Z")

</div>

Definitely interesting. I tried it a long time ago when it seemed to be promoted as a great and viable alternative to nodejs. Unfortunately, it was lacking many features that I had come to depend on with nodejs and it was simply unusable.

Just recently, about a week ago, I gave bun another try and found out that it could easily run my precompiled c++ addon that utilizes ffmpeg's libav shared libraries. I am not sure if that was made possible after anthropic acquired them and it was rebuilt in rust or if that was already supported, but it was pretty cool that it could do that. The restriction for keeping the addon cross compatible is to make sure that no v8 specific apis were used.

As a side note, deno also ran my precompiled addon.

So naturally, I had to stress test and benchmark the latest versions of the 3 runtimes against each other decoding 10 h264/h265 streams simultaneously and all 3 cpu loads and rss memory were very comparable. A slightly older version of bun had something wrong and showed double the memory usage compared to deno or nodejs, but a recent update fixed that issue.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [9 September 2026 04:56 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/4 "2026-09-09T04:56:19Z")

</div>

Bun is getting better and better and faster. They added fast built-in image decoding (exif, resizing, reencoding, api similar to sharp), markdown/xml parser and no need for express. A unified api for sql, all very useful stuff.

If you use AI for coding projects, most will automatically choose bun, it is more efficient and faster to implement and it has all core features you may need. It is not 100% compatible with node, but it is getting there, and you can cross compile to a binary without the need of the actual OS.

> I am not sure if that was made possible after anthropic acquired them

I am also not sure if this is a good or bad thing that antrophic aquired them, it remains MIT. Also claude code is actually using bun to compile their binaries, safe to say it is production ready.

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [9 September 2026 21:01 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/5 "2026-09-09T21:01:48Z")

</div>

Ok, I'll be showing my ignorance here/now.  
_When I was young_ and started playing with computers there were two ways to make a program.

**Interpreted and Compiled.**

Each with its own quirks.

And now there is the program stack.

So, my take is that NR is Compiled, because to get things to work you have to `DEPLOY` after making changes.

Though @TotallyInformation mentioned `pnpm` - which I take it is like `npm`. (Ok, he did kinda say that), isn't that just a different thing/part of the program stack?

Yeah, I am probably saying things I don't mean directly. My language processor is on holiday just now.

It isn't a big deal, but if _compile time_ can be _smashed_ with `Bun`.....  
to me it begs the question. 😉

Anyway, I just mentioned it in passing.

Thanks to all who replied.

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [10 September 2026 10:51 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/6 "2026-09-10T10:51:08Z")

</div>

> So, my take is that NR is Compiled, because to get things to work you have to `DEPLOY` after making changes.

No, "Deploy" is sending the version of the flow in the editor (the browser) to the backend and telling it to run it. It is never compiled, the canvas is just a rendering of the flow.json that is held in memory in the browser before it is sent o the backend.

(I am deliberately not going near JIT compilers or TypeScript being complied to JavaScript as that will just complicate things, just assume that all of Node-RED and NodeJS apps in general are interpreted).

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [10 September 2026 11:15 UTC](https://discourse.nodered.org/t/saw-this-on-the-js-runtime-is-this-of-interest-to-anyone/101755/7 "2026-09-10T11:15:04Z")

</div>

> [@Trying\_to\_learn](#):
>
> So, my take is that NR is Compiled, because to get things to work you have to `DEPLOY` after making changes.

As hardlib says, node-red does not need compiling since it is a node.js (JavaScript) app. However, it does need a **build** step. This puts together a great many scripts and style sheets and libraries into a more manageable and efficient set of files that make up the _package_.

As for npm, pnpn, and yarn, these are _package managers_. They download and sort out packages from various locations as needed and make sure that the packages are usable. They sort out dependencies and even kick off compiles if needed for binary libraries.
