Optimize HTTP2 HPack huffman decoding (#43603)
authorRoman Konecny <rokonecn@microsoft.com>
Fri, 27 Nov 2020 09:02:08 +0000 (10:02 +0100)
committerGitHub <noreply@github.com>
Fri, 27 Nov 2020 09:02:08 +0000 (10:02 +0100)
commit7171407822a9a94b6ac12aca652851e74f3b604d
treeaa4ec1be8a9b1928f063a78174dcdff858c6bb39
parentbe0efd358453d2dbea7821caa328352c25012c2a
Optimize HTTP2 HPack huffman decoding (#43603)

Optimized to use 8 bits lookup tables tree with result of about 0.35 CPU utilization as oppose to former version.
Decoding table is lazy generated as ushort[].
.gitignore
src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/Huffman.cs
src/libraries/Common/tests/Tests/System/Net/aspnetcore/Http2/HuffmanDecodingTests.cs
src/libraries/System.Net.Http/tests/PerformanceTests/HPackHuffmanBenchmark/HPackHuffmanBenchmark.csproj [new file with mode: 0644]
src/libraries/System.Net.Http/tests/PerformanceTests/HPackHuffmanBenchmark/HPackHuffmanBenchmark.sln [new file with mode: 0644]
src/libraries/System.Net.Http/tests/PerformanceTests/HPackHuffmanBenchmark/Program.cs [new file with mode: 0644]