The DLR’s Adaptive Compiler
The Dynamic Language Runtime has significant performance improvements over traditional interpreters for Python and Ruby, once it is warned up. But for code you only use once or twice, it costs more to compile the expression tree than to simply interpret it.
The DLR solves this issue by introducing what they call an Adaptive Compiler. Normally the DLR will interpret expression trees instead of compiling them. If it sees a given tree is used repeatedly, then it will compile it in a background thread to be used by future calls. According to Microsoft, this is giving IronPython 2.6 a significant performance boost over earlier versions.
Because this technology is backed into the DLR, any dynamic language targeting it may opt-in for this behavior.
Benchmarks
by
Doug Winter
Re: Benchmarks
by
Ex Raven
Re: Benchmarks
by
Doug Winter
I'd generally take benchmarks with a pinch of salt, but I have to say I think they have some more work to do on the DLR yet ;)
Educational Content
Writing Usable APIs in Practice
Giovanni Asproni May 19, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think