<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I have an application where rules are generated (as part of a genetic algorithm).   Rather than evaluate the rules in interpreted form (which are 5x or more slower than the equivalent compiled code), thinking to use reflection.emit or the mono compiler as a service.<div><br></div><div>Millions of rules are generated across time within the scope of one process / AppDomain.   During the computation of fitness each rule is evaluated millions of times, but once fitness is computed, the rule will never need to be evaluated again.   Computing fitness takes 10-20 seconds, so the cost of this in ratio to compilation is small.   Hence increasing the performance by 5x is desirable.</div><div><br></div><div>With the above in mind:</div><div><br></div><div><ol class="MailOutline"><li>I assume I can remove a class created with the compiler as a service?</li><li>Would there be residual in the JIT or elsewhere that will accumulate, becoming a memory leak issue?</li><li>If I am running with llvm enabled, will the compiler as a service or reflection.emit make use of LLVM for JIT?</li><li>Should I prefer the Mono api or reflection.emit for performance or other reasons?</li></ol><div><br></div></div><div>Thanks</div><div><br></div><div>Jonathan</div></body></html>