Matt Nischan
Matt Nischan
Initial benchmarks on the read side without digging into optimization: ``` BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18362 AMD Ryzen Threadripper 1950X, 1 CPU, 32 logical and 16 physical cores .NET Core SDK=3.1.100 [Host]...
Got rid of `SequenceReader` in `WebSocketFrameReader` and optimized some of the sync ValueTask paths in `WebSocketMessageReader` to avoid some state machine creation. More to do there. Did a little work...
Creating a SequenceReader was showing up as a hot path. Just getting rid of creating an instance of it and moving to parsing via Span got me a 20% win...
Here's the latest with a quiet machine: looks like maybe not even that 5-10%. Comes up allocation free, now, though (although if you actually profile, ProtocolReader.Read allocates a state machine...
Yeah, I was thinking on how to eliminate that. I can do it for the sync path just by doing what I've done here and check IsCompletedSuccessfully and have a...
Got the shape of the write API in a decent place finally and got some smoke tests implemented. Been taking longer than I wanted. Should be getting some benchmark numbers...
😬 I know...this year got a little crazy... Are you thinking of bringing this project back into the forefront?
I don't know how possible it would be to add, if only for the message readers that are `ReadOnlySequence` pass-throughs. However, I have been noticing that there is some API...
So, I've actually been playing around with some implementations the past week and I think I'm on to a somewhat unique solution which involves putting another message reader over the...