Networking speed

Please forgive me as I'm a novice in this area. I've been reading various sites on the web and it seems that they all praise FreeBSD for its network stack and that it can do some pretty impressive things. I'm currently looking to create a simple chat application and I'm trying to decide what my server platform should be.

I was thinking of writing the daemon in either Python or Node.js but I'm not sure if that would have a negative effect on network speed compared to using the native C syscalls.

Basically the network traffic is going to be lots of short messages but there could be hundreds every second if it catches on so I'd like some room to grow. I'd also need to handle encryption in the mix too so TLS 1.3 and GnuPG.

What should i concentrate on networking wise?
 
In all seriousness, Python and Javascript are very slow, and they don't use multiple CPU (cores) for their multithreading.

C is a little brutal lack-of-abstractions wise.

The new toy in town is Golang for applications like this.
 
High performance network communication and NodeJS shouldn't be in the same sentence.
 
Ah, sorry for the stupid question. I'll look into Go in that case. Thank you.
thank you for considering FreeBSD. If you have additional questions please feel free to ping me on here or directly and I will do what I can to help. There are indeed many high performance networking applications of FreeBSD and experts who will gladly share their knowledge.
 
Ah, sorry for the stupid question. I'll look into Go in that case. Thank you.
No question is stupid. Go/Golang would be a good choice, being a compiled language and designed by Rob Pike. If you are familiar with Telegram platform, you can see for yourself what Go is capable of: MissRose is a bot written in Go with a PostgreSQL backend, serving ~500M (yep, five-hundred-million) users and ~12M Telegram channels/groups. Before you decide, give it a try. It scales very well, the language itself won't limit you. Just design your platform well. I'm not a Go/Golang advocate, but for this situation should rock. Good luck and crystal-clear mind while implementing.
 
Basically the network traffic is going to be lots of short messages but there could be hundreds every second if it catches on so I'd like some room to grow. I'd also need to handle encryption in the mix too so TLS 1.3 and GnuPG.
You’ll find existing Go packages for GPG, TLS1.3 and many other components you will need. Search for them on pkg.go.dev. What’s more, your server software will likely run unchanged on a variety of operating systems and architectures.
 
Back
Top