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/