Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Reflection.Emit中类型创建缓慢_C#_.net_.net 2.0_System.reflection - Fatal编程技术网

C# System.Reflection.Emit中类型创建缓慢

C# System.Reflection.Emit中类型创建缓慢,c#,.net,.net-2.0,system.reflection,C#,.net,.net 2.0,System.reflection,我正在从事一个需要大量使用System.Reflection.Emit来发布编译版本的源代码的项目,但是,当我发布整个代码时,我注意到了一个缓慢的过程(我只是为了测试而发布了部分代码)。也就是说,为946种类型调用“TypeBuilder.CreateType()”方法需要75秒以上的时间,我将部分归因于我正在发送的数据量,这是一个3.01mb的dll,在使用ILDasm反编译时会扩展为60mb的文件 现在,这个数据的其余发送过程总共只需要大约40秒(这40秒包括发送相当多的调试数据),所以我想

我正在从事一个需要大量使用System.Reflection.Emit来发布编译版本的源代码的项目,但是,当我发布整个代码时,我注意到了一个缓慢的过程(我只是为了测试而发布了部分代码)。也就是说,为946种类型调用“TypeBuilder.CreateType()”方法需要75秒以上的时间,我将部分归因于我正在发送的数据量,这是一个3.01mb的dll,在使用ILDasm反编译时会扩展为60mb的文件


现在,这个数据的其余发送过程总共只需要大约40秒(这40秒包括发送相当多的调试数据),所以我想知道为什么这个单独的方法需要这么多时间。有人知道吗?这次有什么方法可以减少吗?

如果您使用的是2.0框架,那么有一个错误,在
CreateType
中不必要地使用了O(n^2)算法,导致性能低下。修补程序:啊,这就是为什么,我使用的是2.0框架。(不要问为什么:P)很高兴知道这是极少数真正体验低性能的计算机之一。很可能你正在使用2.0框架,有一个错误,在
CreateType
中不必要地使用了O(n^2)算法,导致性能差。修补程序:啊,这就是为什么,我使用的是2.0框架。(不要问为什么:P)很高兴知道这是为数不多的能够真正体验低性能的计算机之一。