Invocation serialization results

by final implementation solution.

Setup

The tests are performed by serializing -> de-serializing of invocations with different number of children. Each invocation was holding one SqlStatementObject additionally. Every test included 1000 repetitions of process.

Results

1000 children


Avg [ms]

Min [ms]

Max [ms]

Size [bytes]

serialize

6.15

5.51

125.82

323,193

de-serialize

5.51

4.55

258.32

-

5000 children


Avg [ms]

Min [ms]

Max [ms]

Size [bytes]

serialize

29.98

27.47

478.65

1,613,490

de-serialize

24.19

22.12

412.49

-

10000 children


Avg [ms]

Min [ms]

Max [ms]

Size [bytes]

serialize

63.50

60.88

347.07

3,229,587

de-serialize

48.52

44.51

664.26

-

25000 children


Avg [ms]

Min [ms]

Max [ms]

Size [bytes]

serialize

263.26

154.26

724.53

8,079,275

de-serialize

133.00

113.23

635.29

-

50000 children


Avg [ms]

Min [ms]

Max [ms]

Size [bytes]

serialize

354.24

320.07

966.95

16,166,684

de-serialize

316.67

217.351

1188.39

-

Kyro vs Protostuff

With invocation that have between 1 and 1000 children, randomly chosen:

Serialization Kyro = 2.8474
De-Serialization Kyro = 2.4189
------------------------------------
Serialization Protostuff = 3.0583
De-Serialization Protostuff = 1.9257