1. 反射序列化与动态编译序列化。

 

比较结果:

------ Test started: Assembly: Pixysoft.Framework.Configurations.dll ------


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:04.2031250


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:07.8593750


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:07.2187500



1 passed, 0 failed, 0 skipped, took 19.36 seconds (Ad hoc).

使用c#提供的序列化最快,而反射序列化和动态编译序列化差不多。证明了反射获取数据在序列化中的比重并不大。

 

------------------------------

 

2. 反射序列化与完全动态建立序列化适配器比较

所谓建立序列化适配器,就是针对不同的对象,内存建立一个针对的获取数据的对象,这样就不需要通过反射获取属性,而是等效于直接获取。

------ Test started: Assembly: Pixysoft.Framework.Configurations.dll ------


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:04.1406250


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:08


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:07.5468750


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:01.1250000



1 passed, 0 failed, 0 skipped, took 20.91 seconds (Ad hoc).


可见如果是直接获取值,速度最快。 提升大概4倍(50000次循环。)

 

 


----------------------

 

3. 比较IMessageSInk和直接获取数据性能。

循环10w次,结果是:

 

 Begin CreateObjectUsingReflection

00:00:11.2187500


Begin CreateObjectUsingReflection

Begin CreateObjectUsingReflection

00:00:00.0156250


提升了接近1000倍。。。。晕倒了。

 

 

 

相关文章:

  • 2021-07-31
  • 2021-09-09
  • 2022-12-23
  • 2021-08-03
  • 2021-11-12
  • 2021-06-24
  • 2022-02-08
猜你喜欢
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2021-05-28
  • 2021-11-02
  • 2021-07-06
  • 2021-07-08
相关资源
相似解决方案