|
|
|
|
|
by neonsunset
805 days ago
|
|
You would be surprised by performance of modern .NET :) Writing no-alloc is oftentimes done by reducing complexity and not doing "stupid" tricks that work against JIT and CoreLib features. For databases specifically, .NET might actually be positioned very well with its low-level features (intrisics incl. SIMD, FFI, struct generics though not entirely low-level) and high-throughput GC. Interesting example of this applied in practice is Garnet[0]/FASTER[1]. Keep in mind that its codebase still has many instances of un-idiomatic C# and you can do way better by further simplification, but it already does the job well enough. [0] https://github.com/microsoft/garnet [1] https://github.com/microsoft/FASTER |
|