mgravell / Pipelines.Sockets.Unofficial

.NET managed sockets wrapper using the new "Pipelines" API
Other
400 stars 51 forks source link

Alloc free delegates #34

Closed mgravell closed 5 years ago

mgravell commented 5 years ago

Add APIs to allow working with multi-cast delegates without allocating

Method Job Runtime Categories Mean Error StdDev Min Max Gen 0/1k Op Gen 1/1k Op Gen 2/1k Op Allocated Memory/Op
GetInvocationList_Nil Clr Clr GetInvocationList 0.6508 ns 0.0053 ns 0.0049 ns 0.6409 ns 0.6555 ns - - - -
GetInvocationList_Single Clr Clr GetInvocationList 15.7775 ns 0.0704 ns 0.0624 ns 15.6760 ns 15.8719 ns 0.0051 - - 32 B
GetInvocationList_Dual Clr Clr GetInvocationList 32.5536 ns 0.0458 ns 0.0406 ns 32.4848 ns 32.6278 ns 0.0063 - - 40 B
GetInvocationList_Nil Core Core GetInvocationList 0.6441 ns 0.0018 ns 0.0017 ns 0.6420 ns 0.6472 ns - - - -
GetInvocationList_Single Core Core GetInvocationList 14.7447 ns 0.1567 ns 0.1466 ns 14.5181 ns 15.0292 ns 0.0051 - - 32 B
GetInvocationList_Dual Core Core GetInvocationList 27.7171 ns 0.1433 ns 0.1119 ns 27.5760 ns 27.9416 ns 0.0063 - - 40 B
GetEnumerator_Nil Clr Clr GetEnumerator 0.4304 ns 0.0008 ns 0.0007 ns 0.4296 ns 0.4319 ns - - - -
GetEnumerator_Single Clr Clr GetEnumerator 13.4696 ns 0.0134 ns 0.0119 ns 13.4496 ns 13.4931 ns - - - -
GetEnumerator_Dual Clr Clr GetEnumerator 22.8341 ns 0.0772 ns 0.0723 ns 22.7423 ns 22.9586 ns - - - -
GetEnumerator_Nil Core Core GetEnumerator 0.4304 ns 0.0005 ns 0.0004 ns 0.4298 ns 0.4309 ns - - - -
GetEnumerator_Single Core Core GetEnumerator 14.6639 ns 0.0376 ns 0.0294 ns 14.6313 ns 14.7344 ns - - - -
GetEnumerator_Dual Core Core GetEnumerator 22.7162 ns 0.0396 ns 0.0370 ns 22.6649 ns 22.7845 ns - - - -
GetEnumerator_CheckSingle_Nil Clr Clr GetEnumerator_CheckSingle 0.6442 ns 0.0019 ns 0.0017 ns 0.6420 ns 0.6475 ns - - - -
GetEnumerator_CheckSingle_Single Clr Clr GetEnumerator_CheckSingle 5.3620 ns 0.0229 ns 0.0203 ns 5.3379 ns 5.4101 ns - - - -
GetEnumerator_CheckSingle_Dual Clr Clr GetEnumerator_CheckSingle 27.2090 ns 0.0453 ns 0.0401 ns 27.1650 ns 27.2917 ns - - - -
GetEnumerator_CheckSingle_Nil Core Core GetEnumerator_CheckSingle 0.4482 ns 0.0049 ns 0.0046 ns 0.4364 ns 0.4520 ns - - - -
GetEnumerator_CheckSingle_Single Core Core GetEnumerator_CheckSingle 5.2312 ns 0.0118 ns 0.0104 ns 5.2126 ns 5.2478 ns - - - -
GetEnumerator_CheckSingle_Dual Core Core GetEnumerator_CheckSingle 27.4683 ns 0.4160 ns 0.3688 ns 26.4948 ns 27.8895 ns - - - -