在设计和实现中,很多地方都用到reflection。用Reflection创建类会在一定程度上造成性能上的损失。但损失有多大?前些日子写了个程序用不同的方法创建类的实例,测试结果如下:
方法/创建次数 1000 10000 100000 1000000
new 操作符 0 5 45 472
delegate 3 25 241 2811
Reflection 9 92 890 9615
友元函数 17 148 1492 16091

可以看到用new操作符创建类比用Reflection快将近20倍之多。测试代码如下:
利用不同方法创建类的性能比较using System;
利用不同方法创建类的性能比较
using System.Reflection;
利用不同方法创建类的性能比较
using System.Runtime.InteropServices;
利用不同方法创建类的性能比较
using System.Diagnostics;
利用不同方法创建类的性能比较
利用不同方法创建类的性能比较
namespace ReflectionTest

相关文章:

  • 2021-05-24
  • 2021-12-27
  • 2020-05-10
  • 2022-12-23
  • 2022-01-17
  • 2021-07-18
  • 2021-06-05
猜你喜欢
  • 2021-10-16
  • 2021-05-11
  • 2022-01-18
  • 2021-08-10
  • 2021-05-07
  • 2021-11-10
  • 2022-12-23
相关资源
相似解决方案