Pixysoft.framework.configuration 性能提升报告


测试结果: 

。简单对象 序列化 5000次 性能提高6倍

。简单对象 反序列化 5000次 6.3times

。复杂接口序列化 5000次  9.5 times

。复杂接口反序列化 5000次 7.9 times 

。复杂对象序列化 5000次  10.2 times 

。复杂对象包含接口序列化与反序列化 2500次  7.3times 

1.  简单对象 序列化 5000次

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

ms serialize
Time Elapsed: 886ms
CPU time: 390,625,000ns
Gen 0: 95
Gen 1: 0
Gen 2: 0

xml serialize
Time Elapsed: 1,046ms
CPU time: 875,000,000ns
Gen 0: 68
Gen 1: 0
Gen 2: 0

dynamic serialize
Time Elapsed: 156ms
CPU time: 156,250,000ns
Gen 0: 16
Gen 1: 0
Gen 2: 0


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

反射的性能最差,而动态提高了6倍性能。

2. 简单对象 反序列化 5000次 

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

ms deserialize
    Time Elapsed:        780ms
    CPU time:        
437,500,000ns
    Gen 
0:             97
    Gen 
1:             0
    Gen 
2:             0

xml deserialize
    Time Elapsed:        951ms
    CPU time:        
890,625,000ns
    Gen 
0:             83
    Gen 
1:             0
    Gen 
2:             0

dynamic deserialize
    Time Elapsed:        181ms
    CPU time:        
187,500,000ns
    Gen 
0:             42
    Gen 
1:             0
    Gen 
2:             0


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

3.复杂接口序列化 5000次

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

reflection serialize
    Time Elapsed:        
12,249ms
    CPU time:        
11,093,750,000ns
    Gen 
0:             1480
    Gen 
1:             15
    Gen 
2:             0

dynamic serialize
    Time Elapsed:        
1,637ms
    CPU time:        
1,265,625,000ns
    Gen 
0:             178
    Gen 
1:             0
    Gen 
2:             0


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

4.复杂接口反序列化 5000次 7.9 times

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

xml reflection deserialize
    Time Elapsed:        
13,978ms
    CPU time:        
13,250,000,000ns
    Gen 
0:             1477
    Gen 
1:             73
    Gen 
2:             0

dynamic deserialize
    Time Elapsed:        
1,528ms
    CPU time:        
1,437,500,000ns
    Gen 
0:             282
    Gen 
1:             0
    Gen 
2:             0


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

5.复杂对象序列化 5000次  10.2 times

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

ms serialize
    Time Elapsed:        836ms
    CPU time:        
515,625,000ns
    Gen 
0:             132
    Gen 
1:             0
    Gen 
2:             0

reflection serialize
    Time Elapsed:        
15,268ms
    CPU time:        
14,656,250,000ns
    Gen 
0:             1346
    Gen 
1:             1
    Gen 
2:             0

dynamic serialize
    Time Elapsed:        
1,954ms
    CPU time:        
1,843,750,000ns
    Gen 
0:             371
    Gen 
1:             0
    Gen 
2:             0


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

6.复杂对象反序列化 5000次 6.140625倍

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

ms deserialize
    Time Elapsed:        910ms
    CPU time:        
546,875,000ns
    Gen 
0:             152
    Gen 
1:             0
    Gen 
2:             0

xml deserialize
    Time Elapsed:        
15,428ms
    CPU time:        
14,937,500,000ns
    Gen 
0:             1242
    Gen 
1:             1
    Gen 
2:             0

dynamic deserialize
    Time Elapsed:        
2,278ms
    CPU time:        
2,234,375,000ns
    Gen 
0:             357
    Gen 
1:             1
    Gen 
2:             0


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

7.  复杂对象包含接口序列化与反序列化 2500次  7.3times

代码
------ Test started: Assembly: Pixysoft.TestDrivens.Configurations.exe ------

xml deserialize
    Time Elapsed:        
31,244ms
    CPU time:        
29,078,125,000ns
    Gen 
0:             2497
    Gen 
1:             19
    Gen 
2:             0

dynamic deserialize
    Time Elapsed:        
4,999ms
    CPU time:        
4,359,375,000ns
    Gen 
0:             658
    Gen 
1:             1
    Gen 
2:             0


1 passed, 0 failed, 0 skipped, took 36.45 seconds (Ad hoc).
原文地址:https://www.cnblogs.com/zc22/p/1813094.html