4 ms·
It was just a system designed from the start with efficiency in mind, rather than business flexibility. Almost any system can do the same if you start from the
by londons_explore 3y ago
It was just a system designed from the start with efficiency in mind, rather than business flexibility.
Almost any system can do the same if you start from the basics of "how many bytes of data do I need to move?", and "how many bytes of data can this ethernet cable/CPU transfer each second?"
The end result is a system which is typically lower level and less flexible, but has much better money and hardware efficiency.
You'll end up delving into the Linux kernel and sockets API's, rather than using NodeJS and MongoDB. It'll take a totally different type of engineer to do so too, so make sure you hire appropriately!
- pharmakom 3y agoNode js is a surprisingly lightweight API layer for manipulating Linux IO
- mschuster91 3y agoThe problem is that the NodeJS ecosystem infrastructure doesn't exactly like efficient programming - you have to go pretty much bare metal to actually be lightweight.
- porsager 3y agoOr maybe NodeJS is just leveraged a lot for cases where this kind of performance isn't required. Doesn't mean it's not useful in scenarios where you do require it [1] [1] https://unetworkingab.medium.com/millions-of-active-websockets-with-node-js-7dc575746a01 https://unetworkingab.medium.com/millions-of-active-websocke...
- zokier 3y ago> you have to go pretty much bare metal to actually be lightweight And yet here we are discussing WhatsApp which notably used Erlang, and I would not call BEAM particularly lightweight thing.
- londons_explore 3y agoAs long as you like having terribly restrictive threads....
- candiodari 3y agoErlang is the big fly in the ointment here. It's very inefficient. In fact it makes rather ridiculous performance sacrifices in the interest of stability, and encourages you to make it even worse.