State of the Compiler
Ola Fosheim Grøstad via Digitalmars-d
digitalmars-d at puremagic.com
Mon Feb 29 00:34:00 PST 2016
On Monday, 29 February 2016 at 00:10:33 UTC, Walter Bright wrote:
> 11. encapsulate, encapsulate, encapsulate
Good point, this will make it easier for new people to contribute!
> One benefit of all this is we could start using multicores to
> compile!
What is the payoff for having multithreading in the front end? In
order to benefit much from it you either need cache-locality, a
small working set, waiting for I/O and the frontend being a
bigger bottle neck than the backend optimizer.
Seems to me you can get more out of it by focusing on:
1. moving as much as possible to the back end and making the
front end simpler
2. focus on caching-techniques between compiles
3. add full separation between frontend and backend and keep the
backend in a separate process using shared memory for
communicating the IR. That way you can run the backend on
multiple machines, CPUs or cores + reuse backends written in any
language.
More information about the Digitalmars-d
mailing list