Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 C++ Performance Projects
-
Project mention: {fmt} 10.1 released with optimized format string compilation, container support improvements and many fixes | /r/cpp | 2023-08-14
-
Not the person you asked, but generally you might want to look at "frame-based" profilers. These are typically used in video games, but the concept is general, and can apply to other applications. The "frame" could also be something like a request or transaction being processed. I like Tracy[1], myself.
Another latency metric that you'll see, often w/respect to web apps and microservices is "P99" and similar. This is the amount of time in which 99% of requests get their response. For a higher percentile, you get a better idea of worst-case performance.
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
Project mention: Implementing Mario's Stack Blur 15 times in C++ (with tests and benchmarks) | news.ycombinator.com | 2023-11-10
Probably would have been much easier to do 15 times in https://halide-lang.org/
The idea behind Halide is that scheduling memory access patterns is critical to performance. But, access patterns being interwoven into arithmetic algorithms makes them difficult to modify separately.
So, in Halide you specify the arithmetic and the schedule separately so you can rapidly iterate on either.
-
Project mention: QUIK is a method for quantizing LLM post-training weights to 4 bit precision | news.ycombinator.com | 2023-11-06
-
Project mention: Grafana Beyla: OSS eBPF auto-instrumentation for application observability | news.ycombinator.com | 2023-09-13
-
Loads of people have stated why easy GPU interfaces are difficult to create, but we solve many difficult things all the time.
Ultimately I think CPUs are just satisfactory for the vast vast majority of workloads. Servers rarely come with any GPUs to speak of. The ecosystem around GPUs is unattractive. CPUs have SIMD instructions that can help. There are so many reasons not to use GPUs. By the time anyone seriously considers using GPUs they're, in my imagination, typically seriously starved for performance, and looking to control as much of the execution details as possible. GPU programmers don't want an automagic solution.
So I think the demand for easy GPU interfaces is just very weak, and therefore no effort has taken off. The amount of work needed to make it as easy to use as CPUs is massive, and the only reason anyone would even attempt to take this on is to lock you in to expensive hardware (see CUDA).
For a practical suggestion, have you taken a look at https://arrayfire.com/ ? It can run on both CUDA and OpenCL, and it has C++, Rust and Python bindings.
-
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
-
-
TypeRunner is a high-performance TypeScript compiler that enables type checking without the need for tsc or a JavaScript engine at all. It speeds up type checking immensely by compiling TypeScript source code to bytecode and running it in a custom virtual machine.
-
-
You might also consider building some support for tracing and profiling directly into your engine using Tracy or easy_profiler.
-
-
Aside from that, there is a Python translation of data.table (see documentation here), which might be worth looking into. However, it hasn't had any major updates in a while: the last release 2 years ago ...
-
-
CppServer
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
-
Project mention: Help! Does anyone know how to install johncena141 games on linux? | /r/LinuxCrackSupport | 2023-07-01
on a fresh install all you need is dwarfs https://github.com/mhx/dwarfs and libopenal1
-
-
ultimatepp
U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
Project mention: Hey guys, just wanted to share some exciting news with you all. U++ 2022.3 has recently been released and there's one big change that everyone should know about. So, what's the big change you ask? Well, you'll have to download the latest version to find out! Happy coding! | /r/cpp | 2023-05-09For more information, you can also visit our official site: https://www.ultimatepp.org/.
-
-
-
I think there's already been work done to just use intel MKL on any device: https://github.com/oneapi-src/oneMKL
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Performance related posts
- QUIK is a method for quantizing LLM post-training weights to 4 bit precision
- Tuning Linux for Performance
- Intel OpenVINO 2023.1.0 released
- Intel OpenVINO 2023.1.0 released, open-source toolkit for optimizing and deploying AI inference
- OpenVINO 2023.1.0 released
- [N] Intel OpenVINO 2023.1.0 released, open-source toolkit for optimizing and deploying AI inference
- Intel OpenVINO 2023.1.0 released, open-source toolkit for optimizing and deploying AI inference
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Nov 2023
Index
What are some of the best open-source Performance projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | C++ Format | 18,333 |
2 | tracy | 6,628 |
3 | Halide | 5,569 |
4 | openvino | 4,995 |
5 | pixie | 4,993 |
6 | ArrayFire | 4,267 |
7 | hotspot | 3,562 |
8 | oneDNN | 3,298 |
9 | orbit | 3,294 |
10 | TypeRunner | 2,551 |
11 | palanteer | 2,016 |
12 | easy_profiler | 1,984 |
13 | icinga2 | 1,906 |
14 | datatable | 1,763 |
15 | Boost.Compute | 1,461 |
16 | CppServer | 1,206 |
17 | dwarfs | 1,176 |
18 | CacheLib | 973 |
19 | ultimatepp | 668 |
20 | speedb | 621 |
21 | vulkan_best_practice_for_mobile_developers | 592 |
22 | oneMKL | 509 |
23 | reckless | 456 |