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