据我所知,jit代码在程序运行时永远不会从内存中释放出来。这是否意味着在表达式树上重复调用.Compile()
会泄漏内存?
这意味着只能在静态构造函数中编译表达式树,或者以其他方式缓存它们,这可能并不简单。对吗?
最佳答案
他们可能是普通中等教育…LambdaExpression.Compile()
使用LambdaCompiler.Compile(LambdaExpression, DebugInfoGenerator)
类,而through one of the LambdaCompiler
constructors使用DynamicMethod
类,来自msdn:
定义并表示可编译、执行和丢弃的动态方法。丢弃的方法可用于垃圾收集。
关于c# - 编译的表达式树会泄漏吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43041190/