<div dir="ltr">Your friends are oversimplifying things of course.<div><br></div><div>When you speak about 200GB or 3TB of RAM, you need to speak about things a bit deeper than "fast or not fast".  Here is the beginning of long list of issues to discuss:</div><div><br></div><div><br></div><div>1) is your software NUMA aware?  Many people experience strange performance degradations when they upgrade from 1CPU to 2CPU and double system memory. Numa unaware software starts migrating data between processors with serious penalty.</div><div><br></div><div>Erlang is NUMA aware out of the box, but you can spoil things if you allow too much data migration.</div><div><br></div><div><br></div><div><br></div><div>2) how big is per-process memory?  If you allocate 200GB of small integers into tuples and all of them in a single erlang process, then you will not be able even to do it in a reasonable amount of time, I suppose =)</div><div>If you do things correctly and all your 200GB are in ets, binaries and spread across different processes, then it will be ok</div><div><br></div><div><br></div><div><br></div><div>3) how fast is memory allocation/deallocation done?  If you just read 200GB file to memory and read data from it, then it is really easy.</div><div>If you do complicated allocations/deallocations with complex memory connections, then your memory allocator should be fast enought</div><div>to handle these allocations on 200GB of RAM. Erlang is fast enough for this.</div><div><br></div><div>Program written on C++ will have lot of hidden bugs that are hard to find because valgrinding 200GB is a funny task.</div><div><br></div><div><br></div><div>There are other questions about "is 200GB handling possible", these 3 are just what I could remember.</div></div>