Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems. Learn more →
Top 9 C Neon Projects
-
You can use https://github.com/simd-everywhere/simde if you like. In general portable SIMD libraries are of limited utility because having different primitives available on different architectures means that you should approach problems differently. That is to say, in many cases using any portable SIMD API to solve your problem means leaving 200% speedups on the table on at least one of your top 3 targets.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
CRoaring
Roaring bitmaps in C (and C++), with SIMD (AVX2, AVX-512 and NEON) optimizations: used by Apache Doris, ClickHouse, and StarRocks
-
SimSIMD
Up to 200x Faster Dot Products & Similarity Metrics — for Python, Rust, C, JS, and Swift, supporting f64, f32, f16 real & complex, i8, and bit vectors using SIMD for both AVX2, AVX-512, NEON, SVE, & SVE2 📐
You can always get more accuracy by expanding those 3 lines to handle more of the Taylor components… but it’s important to remember that this is still educational material.
You can find more complete examples in my SimSIMD (https://github.com/ashvardanian/SimSIMD), but they also often assume that at a certain part of a kernel, a floating point number is guaranteed to be in a certain range. This can greatly simplify the implementation for kernels like Atan2. For general-purpose inputs, go to SLEEF (https://sleef.org). Just remember that every large, complicated optimization starts with a small example.
-
You can always get more accuracy by expanding those 3 lines to handle more of the Taylor components… but it’s important to remember that this is still educational material.
You can find more complete examples in my SimSIMD (https://github.com/ashvardanian/SimSIMD), but they also often assume that at a certain part of a kernel, a floating point number is guaranteed to be in a certain range. This can greatly simplify the implementation for kernels like Atan2. For general-purpose inputs, go to SLEEF (https://sleef.org). Just remember that every large, complicated optimization starts with a small example.
-
Stream VByte[1,2,3] is not far away from that idea, storing the packed lengths in a separate stream from the data bytes. (There’s also a more conventional interleaved design in varint-G8IU, but Stepanov decided to fuck everyone over and patented that.)
[1] https://lemire.me/blog/2017/09/27/stream-vbyte-breaking-new-...
[2] https://arxiv.org/abs/1709.08990
[3] https://github.com/lemire/streamvbyte
-
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
-
C Neon discussion
C Neon related posts
-
SIMD Library for Evaluating Elementary Functions, Vectorized Libm and DFT
-
Wc2: Investigates optimizing 'wc', the Unix word count program
-
Python, C, Assembly – Faster Cosine Similarity
-
Advice on porting glibc trig functions to SIMD
-
Portable SIMD library
-
SIMD Everywhere – SIMD intrinsics on hardware which doesn't support them
-
SIMD Library for Evaluating Elementary Functions, Vectorized Libm and DFT
-
A note from our sponsor - InfluxDB
influxdata.com | 19 Apr 2025
Index
What are some of the best open-source Neon projects in C? This list will help you:
# | Project | Stars |
---|---|---|
1 | simde | 2,640 |
2 | cglm | 2,497 |
3 | CRoaring | 1,627 |
4 | SimSIMD | 1,314 |
5 | sleef | 720 |
6 | streamvbyte | 395 |
7 | nsimd | 329 |
8 | Turbo-Base64 | 297 |
9 | simd_utils | 103 |