[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