Paulus Pärssinen
Paulus Pärssinen
This PR adds a [BenchmarkDotNet](https://benchmarkdotnet.org/) project to the benchmarks directory for future microbenchmarks. I included some initial RESP-protocol low-level integer reading and writing benchmarks as an example, which will likely...
We discussed this a bit earlier in [the Garnet discord](https://aka.ms/garnet-discord) but I'm opening issue for tracking it here. In .NET 6, [the File IO in the BCL was essentially entirely...
I'm opening this issue to get some input from the maintainers on the possibility of having the projects code-style enforced with .editorconfig rules. Code-style such as naming conventions are _very...
This PR changes the `NumUtils.CRC16` method to use RVA instead of `readonly static` for the precomputed CRC16 table. ```diff -; Total bytes of code 121, prolog size 11, PerfScore 53.06,...
Help JIT to coalesce some word and dword sized stores in `RespWriteUtils`. ### Sample diffs Garnet.common.RespWriteUtils:WriteNull ```diff ; Assembly listing for method Garnet.common.RespWriteUtils:WriteNull(byref,ulong):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with...
This PR includes various little refactoring and changes that can be considered ["peanut-butter"](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/#peanut-butter) as Toub terms them. I have shared my concerns about this type in general on Garnet discord...
Closes #202 Where should I add regression test for this? It seems the testing coverage for this layer of the API is minimal (I only see couple overloads tested in...
### Culture invariant parsing * Avoid re-encoding ASCII and allocating temporary strings, instead feed bytes into directly to `Utf8Parser.TryParse` * In https://github.com/microsoft/garnet/pull/255/commits/02cca169e280f00348e20c9ac149429125ef9dd2, this change indirectly fixes the issue where cultures...
Make the `GlobUtils.Match` do direct ASCII comparisons instead of more expensive culture-sensitive ones. 
This PR uses VS automation to apply IDE0300 & IDE0028: Collection initialization can be simplified to `Garnet.test`