Comment by lliamander
2 years ago
How does the compiler know which parts of the code can be run in parallel?
My understanding is that while parallelism (actually executing instructions simultaneously) is a property of the runtime, it depends upon concurrency (the separation of computations as independent) which is always something that has to be specified in the program source code.
Erlang has a similar property of "scaling with core-count for free" provided you write your program with a prodigious use of processes (which Erlang makes very easy and idiomatic). How is it that HVM is able to identify independent computations?
I admit to being only passingly familiar with Haskell-style FP, so perhaps the answer to my question is obvious.
No comments yet
Contribute on Hacker News ↗