[erlang-questions] clueless performance question

Tony Finch dot@REDACTED
Sun Jun 15 19:35:57 CEST 2008


On Fri, 13 Jun 2008, Richard A. O'Keefe wrote:
> On 11 Jun 2008, at 11:57 pm, Mike Shaver wrote:
> >
> > It's probably[*] going to be less efficient than early binding on
> > first call, but there's no reason that it can't be equivalent to early
> > binding on every subsequent call, until a module replacement triggers
> > the flushing of a JIT cache or what have you.
>
> The startup costs can be high.

Yes for traditional JIT. Tracing JITs are much more lightweight.

> > Work on tracing JITs indicates that the overhead of late binding can
> > be made to disappear completely in the loops and functions that
> > comprise virtually all of a program's work
>
> I keep hearing this.  Please provide some references.

Short overview:

One method at a time is quite a waste of time
http://www.ics.uci.edu/~franz/Site/pubs-pdf/C44Prepub.pdf

More in depth:

HotpathVM: an effective JIT compiler for resource-constrained devices
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.8090&rep=rep1&type=pdf

Incremental dynamic code generation with trace trees
http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-06-16.pdf

Efficient Just-In-Time Execution of Dynamically Typed Languages
Via Code Specialization Using Precise Runtime Type Inference
http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-07-10.pdf

Someone else's short overview:

Mike Pall's notes on a trace JIT for Lua
http://article.gmane.org/gmane.comp.lang.lua.general/44781

Less polished discussion:

Andreas Gal's blog has lots of stuff about applying his work to the
Tamarin JavaScript interpreter/JIT.
http://andreasgal.com/ (look at the "recent posts" links)

Tony.
-- 
f.anthony.n.finch  <dot@REDACTED>  http://dotat.at/
CROMARTY FORTH TYNE: NORTHWEST BACKING SOUTH 3 OR 4, OCCASIONALLY 5 LATER.
MODERATE BECOMING SLIGHT. SHOWERS. GOOD.



More information about the erlang-questions mailing list