SaaSHub helps you find the best software and product alternatives Learn more →
Top 10 C Optimization Projects
-
Coz. It's in a Debian package so you don't have to build it. Watch the video embedded in the page I linked; I;m all about profiling, but the devil is if you're not a statistician, you don't know how to read profiler results.
-
Here's BLIS's object API:
https://github.com/flame/blis/blob/master/docs/BLISObjectAPI...
Searching "object" in BLIS's README (https://github.com/flame/blis) to see what they think of it:
"Objects are relatively lightweight structs and passed by address, which helps tame function calling overhead."
"This is API abstracts away properties of vectors and matrices within obj_t structs that can be queried with accessor functions. Many developers and experts prefer this API over the typed API."
In my opinion, this API is a strict improvement over BLAS. I do not think there is any reason to prefer the old BLAS-style API over an improvement like this.
Regarding your own experience, it's great that using BLAS proved to be a valuable learning experience for you. But your argument that the BLAS API is somehow uniquely helpful in terms of learning how to program numerical algorithms efficiently, or that it will help you avoid performance problems, is not true. It is possible to replace the BLAS API with a more modern and intuitive API with the same benefits. To be clear, the benefits here are direct memory management and control of striding and matrix layout, which create opportunities for optimization. There is nothing unique about BLAS in this regard---it's possible to learn these lessons using any of the other listed options if you're paying attention and being systematic.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
Project mention: How to understand Model Predictive Control | reddit.com/r/ControlTheory | 2022-04-22
I would check out CasADi (specifically the opti framework) and or ACADOS. To code up a quick MPC in general is not hard, but to squeeze efficiency and exploit sparsity for good real-time performance is a little more involved and these tools really help with that.
-
Project mention: Do you consider LLVM a complicated software? And are there any alternatives and how they compare to LLVM? | reddit.com/r/ProgrammingLanguages | 2022-12-29
An alternative: LibFirm but it's much simpler and feature-poor.
-
Project mention: Not Doom but its Wolfenstein 3D at CGA 8088 by James Howard | reddit.com/r/itrunsdoom | 2023-01-10
-
-
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
-
This is a library. It is not a stand-alone application, though it used to be. I want to create an example program that demonstrates its use sometime, which will probably be something like Aha. But this is a separate project on the Sometime Later list.
C Optimization related posts
- Performance analysing tools
- Adaptive Texture Cache
- DOOM (32X) Resurrection Engine optimizations, part 2 - Learn how adaptive texture cache is used to speed up the game renderer by 30%
- Not Doom but its Wolfenstein 3D at CGA 8088 by James Howard
- How much does Rust's bounds checking actually cost?
- What video game would you suggest to someone with a less powerful computer?
- FastDoom: Doom port for DOS, optimized to be as fast as possible!
-
A note from our sponsor - #<SponsorshipServiceOld:0x00007f160d3401c8>
www.saashub.com | 20 Mar 2023
Index
What are some of the best open-source Optimization projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | coz | 3,407 |
2 | blis | 1,484 |
3 | acados | 456 |
4 | libfirm | 387 |
5 | FastDoom | 238 |
6 | siconos | 135 |
7 | fast_zlib | 125 |
8 | d32xr | 101 |
9 | pg_plan_advsr | 73 |
10 | Aha | 55 |