restricted concurrency and optimization (was Re: [E-Lang] E FAQ)

Wesley Felter wesley@felter.org
Thu, 27 Sep 2001 23:40:25 -0500 (CDT)


On Thu, 27 Sep 2001, Mark S. Miller wrote:

> E deals with concurrency without sacrificing true sequentiality.  For a
> hypothetical non-Java E implementation, there is an opportunity to safely
> apply optimizations that might otherwise be tricky -- especially those that
> transparently reorder side effects.  I suspect microparallelism optimization
> may likewise benefit.  (OTOH, many of the optimizations that would be
> newly enabled would also make debugging difficult.)

This reminds me of some other thoughts I had about optimizing E runtimes.
GC could be simplified if you know that all the code touching the GC heap
is single-threaded. You could also avoid scanning the stack for GC roots
by running the GC in between game turns (since there would be no E frames
on the stack at that point). You wouldn't need complex thread-suspending
logic or GC safe points in every loop.

Wesley Felter - wesley@felter.org - http://felter.org/wesley/