has anyone ever compared the speeds of node-red running on different platforms?
For example, how responsive is Node-Red on a Linux machine compared to it running on the same hardware with Windows running on it?
Or has anyone compared Node-Red performance on a Raspberrry Pi version 4 with 4 GB RAM?
Are there certain tools/nodes that can be used as a benchmark tester?
I would appreciate your info and views on this because I am thinking about running node-red on linux and am wondering if it will perform better or not.
Too many variables for easy comparison across different people's implementations.
Generally speaking though, Linux servers will out-perform Windows ones on the same hardware since you aren't carrying the weight of Windows. That's as long as you run Linux headless - the reverse is mostly true if you run a Linux GUI desktop since they are pretty inefficient.
Without a doubt, Linux is easier to config and tune even though you have to get familiar with the command line. I've been doing Windows since v1 and OS/2 before that but I'd generally not recommend it for a low-cost server.
On a Pi, while I've never run the Windows Pi version, I can't believe there is any way at all it would beat a straight Debian headless install. It was a marketing ploy by Microsoft not a serious IoT platform.
Running on the same hardware with Linux or Windows will give similar performance. A Raspberry Pi is generally much slower than any Intel/AMD setup, but I have run Nodered on a Raspberry for years and have been very happy with performance. I have recently moved to a 12th gen Intel platform and only notice performance benefits when deploying.
It's very easy to move a nodered instance to new hardware (especially when running in docker), so if you have a Pi somewhere and want to use that to get started, that is what I would use.
Does it really make much difference to the performance if you are not using the GUI on Linux? I have Ubuntu installed on an old laptop which is generally used as a server, but occasionally it is useful to have a GUI. When I am not using the GUI the only gui related task I can see in top is gnome-shell which occasionally pops up with 1% CPU and is using 4% of the 4GB RAM. I would not have thought that would make any difference to how node red is performing.
Certainly, but that isn't what I was querying. I was querying whether it makes a difference if the install is a desktop install but the desktop is not being used (but is there if required for particular situations). On a pi, however, I do always install the server version as my pis never have keyboard or displays plugged in.
Ah, to be clear, if you install the full version but stop the boot sequence from starting the window manager then the only difference will be how long it takes you to run apt updates (due to all the crud that you've unnecessarily installed).
But if you let the GUI start, it sucks the life out of a Pi with limited resources.
Anyway, headless installs for the Pi are easy so not much reason to install the GUI if you only want a server. And you don't have that choice with Windows.
Even on my live home automation laptop server, I run headless Debian. Though I do have a Docker instance with a lightweight GUI running for those odd occasions when I might want to remind myself why I don't use it - OK, so really, I'll occasionally want an isolated desktop or to use some Linux desktop app. I RDP to it as a remote desktop in those cases.
Sorry, that sounded a bit negative when I re-read. Of course, if you don't have another device to use, a Pi can be a perfectly usable little desktop as long as you don't ask too much of it. And the Pi4, especially with more memory and an SSD is getting really quite decent now, can probably easily keep up with some low-spec Windows devices.
But do remember that Microsoft have $$$$'m to spend on optimising the desktop and Linux desktops are incredibly complex inderlocking services created by lots of different teams. There are good reasons why Linux desktops really haven't caught on for general use. It is sad, I'd love for it to be better & to have a credible full desktop alternative to Windows and MacOS.
If you're not using the desktop environment, it will mostly just sit idle in memory. When that memory is needed anything else, it will mostly be swapped out. If you're not memory constrained the impact of the desktop environment (on Windows or Linux) will be negligible.
I would recommend running it on what you have available and what you are familiar with.