Top 23 C++ Performance Projects
-
Any idea how it compares to FMT?
-
Project mention: Currently, what are some of the worst things about C++? | reddit.com/r/cpp | 2022-04-28
I also maintain the build system for Halide, but as it's less greenfield, there are some things I would need team buy-in to change. It's also much more complex (building code generators necessarily is). I'm still pretty happy with it, though. See here: https://github.com/halide/Halide
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
If you aren't adverse to manual instrumentation there's also Tracy[1].
-
Project mention: [D] Neural Networks using a generic GPU framework | reddit.com/r/MachineLearning | 2022-01-04
Looking for frameworks with Julia + OpenCL I found array fire. It seems quite good, bonus points for rust bindings. I will keep looking for more, Julia completely fell off my radar.
-
Project mention: Launch HN: ContainIQ (YC S21) – Kubernetes Native Monitoring with eBPF | news.ycombinator.com | 2022-01-06
-
-
Project mention: Keeping POWER relevant in the open source world | news.ycombinator.com | 2022-01-22
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
> [...] how Perf compares to vendor tools like vTune [...] ?
Regarding the hardware events that Perf can capture on x86, it has pretty much all of them. So it should be equivalent to vTune for all practical purposes.
The big difference is in the UI -- or absence thereof. Perf is a low-level tool and its output is mostly text files. There is a curses-based TUI for perf-report (and even gtk version, but it is essentially the same as the TUI, just using GTK2 widgets), but that's about it.
By contrast, vTune comes with a heavy (electron-based?) GUI and is quite helpful in guiding beginners, with many graphs and explanations.
Of course, one can (and is expected to) complement Perf with an assortment of tools that process its output for visualization. For example, the flamegraph [1] and heat map [2] tools described in the article. But also KDAB hotspot [3] or HPerf for a vTune-style perf-report.
[1] https://github.com/brendangregg/FlameGraph
[2] https://github.com/brendangregg/HeatMap
-
Project mention: How come I can only see the main page on master branch? | reddit.com/r/git | 2022-04-06
If using the command line, just open gitk. If using GitHub, look under the network tab.
-
Project mention: Palanteer v0.5 is out! Live visual Python profiling with support of multiprocess | reddit.com/r/Python | 2021-11-23
GitHub: https://github.com/dfeneyrou/palanteer
-
Project mention: DevOps Tools Overview: Monitoring Cloud Infrastructure with CloudWatch and OpsGenie | dev.to | 2022-03-19
Icinga/Icinga2
-
-
Project mention: Massive R analysis of Data Science Language and Job Trends 2022 | reddit.com/r/rstats | 2022-01-29
-
-
Project mention: CacheLib, Facebook’s open source caching engine for web-scale services | reddit.com/r/cpp | 2021-09-02
[1] https://github.com/facebook/CacheLib/blob/main/BENCHMARKS.md
-
Project mention: Looking for real name of technology; software defined files / folders | reddit.com/r/linuxquestions | 2022-02-28
-
Project mention: Cannot understand RenderPass, and how Subpass relate to them | reddit.com/r/vulkan | 2021-05-30
-
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: New 3.1.6 release of wxWidgets, free and open source library for creating portable native GUI applications, adding transparent support for high DPI artwork and much more, is now available. | reddit.com/r/cpp | 2022-04-05Have you tried Ultimate++? It's cross-platform, but unlike Qt, it uses native widgets on Windows.
-
-
-
timemory
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
timemory is my recommendation as the backend if you want to build something custom
-
flamethrower
a DNS performance and functional testing utility supporting UDP, TCP, DoT and DoH (by @ns1labs) (by DNS-OARC)
-
Somewhat selfishly, one of the tools I see missing from your guide is the OpenCL Intercept Layer. This is an open-source tool we've developed and we use it every day to debug and analyze OpenCL programs.
C++ Performance related posts
- Jane Street Magic-Trace
- Resources to learn how to write code keeping lower level architecture in mind?
- How come I can only see the main page on master branch?
- Useful Tools and Programs list for OpenCL
- What's your process for investigating issues?
- Sliding window technique and displaying a huge amount of data (several gigabytes)
- Faster integer formatting - James Anhalt (jeaiii)’s algorithm
Index
What are some of the best open-source Performance projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | C++ Format | 14,154 |
2 | Halide | 4,929 |
3 | tracy | 3,831 |
4 | ArrayFire | 3,821 |
5 | pixie | 3,270 |
6 | openvino | 3,243 |
7 | oneDNN | 2,786 |
8 | hotspot | 2,579 |
9 | orbit | 2,552 |
10 | palanteer | 1,850 |
11 | icinga2 | 1,716 |
12 | easy_profiler | 1,672 |
13 | datatable | 1,497 |
14 | Boost.Compute | 1,288 |
15 | CacheLib | 646 |
16 | dwarfs | 589 |
17 | vulkan_best_practice_for_mobile_developers | 495 |
18 | ultimatepp | 434 |
19 | reckless | 414 |
20 | oneMKL | 304 |
21 | timemory | 285 |
22 | flamethrower | 248 |
23 | opencl-intercept-layer | 226 |
Are you hiring? Post a new remote job listing for free.