Hacker News new | past | comments | ask | show | jobs | submit login

I can't help but think this is madly in-efficient with cache misses and the like.


I think what he's trying to say is that silver bullets don't exist. Only pros and cons.

I'm specifically asking about caching.

Presumably he's talking about processor caches. A shared nothing means that every time you "context" switch to another "process" you're going to have to reload all your cache lines in the L1 D-cache.

In Erlang you have a "reduction count budget" of 2000 reductions. This is fairly low, less than 1ms of execution, but during that time you have exclusive use of a CPU. At the end of your budget, you might be preempted, or you might get another window. So you take a bit of a hit to cache, but it's not like you are infinitely context switching. In practice it works fairly well.

Erlang process != OS process.

Processes can communicate. I reckon you could have a process that's responsible for managing the cache instead of managing a separate cache from each process.

I'm no Erlang programmer, though.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact