mgortman
|
8b59715deb
|
Improved perf of SingleThreadEventExecutor
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)
|
2015-11-09 04:30:42 -08:00 |
|