U8String

[work-in-progress] Highly functional and performant UTF-8 string primitive for C# (by U8String)

U8String Alternatives

Similar projects and alternatives to U8String

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better U8String alternative or higher similarity.

U8String reviews and mentions

Posts with mentions or reviews of U8String. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-26.
  • Writing x86 SIMD using x86inc.asm (2017)
    3 projects | news.ycombinator.com | 26 Mar 2024
  • Zig, Rust, and Other Languages
    5 projects | news.ycombinator.com | 15 Mar 2024
  • Was Rust Worth It?
    18 projects | news.ycombinator.com | 25 Oct 2023
    Writing performance-sensitive code in C and calling it via interop used to be the way to go during .NET Framework days but since then has become a performance trap.

    Especially for small methods, calling them through interop is a deoptimization because they cannot be inlined, and involve GC frame transition (which you can suppress) as well as an indirect jump and maybe interop stub unless you are statically linking the dependency into your AOT deployment. In case the arguments are not blittable to C - marshalling too.

    It is also complicates the publishing process because you have to build both .NET and C parts and then package them together, considering the matrix of [win, linux, macos] x [x64, arm64], it turns into quite an unpleasant experience.

    Instead, the recommended approach is just continuing to write C# code, except with pointer and/or ref based code. This is what CoreLib itself does for the most performance-sensitive bits[0]. Naturally, it intentionally looks ugly like in Rust, but you can easily fix it with a few extension methods[1].

    [0]: https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

    [1]: https://github.com/U8String/U8String/blob/main/Sources/Share...

  • A note from our sponsor - WorkOS
    workos.com | 27 Apr 2024
    The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →

Stats

Basic U8String repo stats
3
134
9.6
3 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com