<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>In this regard I had started to experiment with DynamicMethod.  I created a test to explore the performance profile of dynamic compilation.   The test has a variety of modes, but in this case creates / compiles once and evaluates the delegate 1e9 times and compares to a non-dynamic delegate evaluated the same # of times.</div><div><br></div><div>When running in the normal mono JIT, the emitted and explicit have essentially the same runtime.  With LLVM enabled, the explicit was much faster than the dynamically compiled.  If fact, the runtime of the dynamically compiled looked very similar to the default JIT performance.   Hence am wondering whether one of the 2 things is happening:</div><div><br></div><div><ol class="MailOutline"><li>the DynamicMethod continues to be JIT'ed by the mono JIT engine (instead of LLVM)</li><li>the DynamicMethod is JIT'ed by LLVM, but the non-dynamic delegate is inlined such that has no delegate overhead.</li></ol></div><div><br></div><div>Find the simple test code enclosed.  Thoughts?</div><div><br></div><div></div></body></html>