LLVM's Libc Gets Much Faster memcpy For RISC-V

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • safeclib

    safec libc extension with all C11 Annex K functions

  • Of course assembler spezializations are an anti-pattern, because the optimizer should be fixed to do it much better. Better C code is often 2x faster than hand optimized assembler.

    Eg my C memcpy with inlined and vectorized clang beats glibc or gcc memcpy in assembler easily. https://github.com/rurban/safeclib/blob/master/tests/perf_me...

  • fancy-memset

    small, fast memset based on microsoft's design

  • I only have experience with their amd64 code.

    > What problems do they have?

    Nothing in particular, just not particularly amazing performance. They work fine. One thing they have going for them is that they typically have separate versions for every interesting architecture feature level/set, whereas e.g. bionic only has sse code. I guess I can point at my own implementations of memset and memcmp (https://github.com/moon-chilled/fancy-memset https://github.com/moon-chilled/fancy-memcmp), both of which employ novel techniques not used by glibc; but I've not yet gotten around to doing proper benchmarks on either.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • fancy-memcmp

    small, fast memcmp

  • I only have experience with their amd64 code.

    > What problems do they have?

    Nothing in particular, just not particularly amazing performance. They work fine. One thing they have going for them is that they typically have separate versions for every interesting architecture feature level/set, whereas e.g. bionic only has sse code. I guess I can point at my own implementations of memset and memcmp (https://github.com/moon-chilled/fancy-memset https://github.com/moon-chilled/fancy-memcmp), both of which employ novel techniques not used by glibc; but I've not yet gotten around to doing proper benchmarks on either.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Site with common coding mistakes that cause security threats with code examples?

    1 project | /r/C_Programming | 23 Jan 2023
  • Safeclib – C11 Annex K implementation

    1 project | news.ycombinator.com | 25 Aug 2022
  • What are the major dialects of C nowadays?

    1 project | /r/C_Programming | 25 Mar 2022
  • memmove_s?

    2 projects | /r/C_Programming | 17 Dec 2021
  • Why does Windows 10 run faster than Fedora?

    3 projects | /r/Fedora | 7 Dec 2021