mirror of
https://github.com/Azure/DotNetty.git
synced 2026-10-27 03:26:51 +08:00
Motivation:
Impove performance of execution model
Modifications:
- switched SemaphoreSlim for ManualResetEventSlim to track empty vs non-empty states for executor's queue
extras
- removing wait for event loop shutdown (reduces test run time)
- adding benchmarking
- extracted common test utilities into Tests.Common project
- fixing ReSharper settings for ReSharper 10
Results:
5x improvement on in-loop scheduling, 2x improvement on out-of-liio scheduling:
STEE in loop (new)
624ms 1,406,159Kc (G0= 114, G1= 0, G2= 0)
STEE in loop (old)
2,719ms 6,205,423Kc (G0= 114, G1= 0, G2= 0)
STEE out of loop (new)
1,464ms 6,559,838Kc (G0= 95, G1= 0, G2= 0)
STEE out of loop (old)
3,869ms 12,331,986Kc (G0= 38, G1= 28, G2= 3)
20 lines
707 B
XML
20 lines
707 B
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<configuration>
|
|
<startup>
|
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
|
</startup>
|
|
<appSettings>
|
|
<add key="ssl" value="True" />
|
|
<add key="host" value="127.0.0.1" />
|
|
<add key="port" value="8007" />
|
|
<add key="size" value="256" />
|
|
</appSettings>
|
|
<runtime>
|
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
<dependentAssembly>
|
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
|
</dependentAssembly>
|
|
</assemblyBinding>
|
|
</runtime>
|
|
</configuration> |