Good to hear you like it. Server is written to be lightweight and keeping things simple helped a lot. NodeJS totally sucked memory, Golang helped a lot in that perspective.
Well if that's the math that works for you, but I won't assume anything here. If I would have written it in C or Rust lang I would have given quoted a more deterministic memory usage. Bottom line, benchmarks just quoted numbers. Should have put up a Notice disclaimer in comment as well.
It amazes me that "thousands" of users sending simple messages is considered impressive nowadays on a machine with a xxxxMHz CPU and at least xxxMB ram.
This was being done decades ago on xxMB ram and xxxMHz.
sister comment says 100MB/1K connections, 150MB for 2K, so 50KB/connection and 50MB fixed cost?!!?
-
Dump Javascript/Go/$RANDOM_LATEST_BUZZWORD_7 and learn how to program [in C] if you actually want an impressive number of users per MHz/per MB
This is doable on a Cortex-M4 and an ethernet MAC...
Just quoted the benchmark numbers, that were observed there is no fixed cost ofcourse! Here is the deal, it's not something to impress people (specially THAT guy), but proof of concept that if you know how to implement something a RPi is enough. I also know IRC and XMPP has already done this, and these are the system that inspire modern systems like Slack (for which you will be happy to pay). This project started of for me to put my RPi to use, and you know what it's quite useful so far. So ya nobody needs to be impressed, I am just an engineer building toys to increase my experience.
21 comments
[ 1.8 ms ] story [ 61.8 ms ] threadI find it hard to believe a Pi can handle thousands of concurrent users though. How does it handle that?
Variable Cost: 50KB/user
50 + 1000 * (0.05) => 100 MB
50 + 2000 * (0.05) => 150 MB
Pretty straightforward?
.
.
.
It amazes me that "thousands" of users sending simple messages is considered impressive nowadays on a machine with a xxxxMHz CPU and at least xxxMB ram.
This was being done decades ago on xxMB ram and xxxMHz.
sister comment says 100MB/1K connections, 150MB for 2K, so 50KB/connection and 50MB fixed cost?!!?
-
Dump Javascript/Go/$RANDOM_LATEST_BUZZWORD_7 and learn how to program [in C] if you actually want an impressive number of users per MHz/per MB
This is doable on a Cortex-M4 and an ethernet MAC...
Go runtime, GC, random userspace bits this is on top of
50MB!