cppbestpractices
concurrencpp
cppbestpractices | concurrencpp | |
---|---|---|
10 | 16 | |
7,807 | 2,083 | |
0.9% | - | |
2.9 | 1.2 | |
24 days ago | 11 days ago | |
C++ | ||
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cppbestpractices
-
How to improve the code quality
Turn on warnings-as-errors (-Werror or /WX). There’s a good list of recommended warnings in Jason’s book: https://github.com/cpp-best-practices/cppbestpractices
- Dockerfile for CMake?
-
Miscellaneous questions on Debug/Release compilation and compilers
Take a look at: https://github.com/cpp-best-practices/cppbestpractices/blob/master/02-Use_the_Tools_Available.md
- Collaborative Collection of C++ Best Practices
-
Collecting the best C++ practices
Collaborative Collection of C++ Best Practices. This online resource is part of Jason Turner's collection of C++ Best Practices resources. By the way, since I mentioned Jason, here's the link to his C++ Weakly channel.
-
NSA urges orgs to use memory-safe programming languages - C/C++ on the bench, as NSA puts its trust in Rust, C#, Go, Java, Ruby and Swift
This goes for C++ as well, there exist a host of off-by-default flags/features that make it a lot easier to make safe code in C++. Jason Turner's cpp best practices is a must read, using the sanitizers is another must, using facilities like g++'s _GLIBCXX_DEBUG and _GLIBCXX_DEBUG_PEDANTIC or MSVC's /GS /RTCs is a must.
-
IKOS: Static analyzer for C/C++ based on the theory of Abstract Interpretation
Could you detail what exact tooling you are talking about ?
Like, this static analyzer looks interesting but 5 years ago clang --analyze had no trouble producing me a nice html indicating the 27 steps across 6 functions that lead to a pointer being dereferenced after being deleted. Tooling is there but it seems that pretty much no one is aware of it - see e.g. this: https://github.com/cpp-best-practices/cppbestpractices/blob/... or this: https://github.com/fffaraz/awesome-cpp for a quick look at what exists.
- C++ Best Practices: A Forkable Coding Standards Document
-
First time coder - Coding integrals
Also, be sure to turn on the warnings from this page (under the compilers section).*
-
C++20 Modules — Complete Guide
Yep: https://github.com/cpp-best-practices/cppbestpractices/blob/master/02-Use_the_Tools_Available.md
concurrencpp
-
Is anyone using coroutines seriously?
I am using concurrencpp for my project. What I like about it is that it's basically a thread pool factory with coroutines. It allows for better structuring / organizing of multithreaded work. So for me the main advantage of coroutines is that the code looks easier to follow
- Concurrencpp – a C++20 library for coroutines and executors
-
Comparing asio to unifex
Equivalent concurrencpp code:
-
Do you think the current asynchronous models (executors, senders) are too complicated and really we just need channels and coroutines running on a thread pool?
I agree. I use concurrencpp for the exact use case you described - coroutines running on simple-to-understand-executors which return some asynchronous pipe for communication.
- concurrencpp version 0.1.6 has been released!
-
What happens if you co_await a std::future, and why is it a bad idea? - The Old New Thing
If you look at concurrencpp, you can control exactly where and how coroutines are resumed, using executors.
-
Collecting the best C++ practices
concurrencpp. Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all.
-
C++ Coroutines from scratch - Phil Nash - Meeting C++ 2022
Just use a good third party library like concurrencpp .
-
Header-only C++14 quality thread pool
Hi, I am looking for a header-only C++14 (or lower) quality thread pool. Ideally, it would be similar to BS::thread_pool but in C++14. Most of them I find on GitHub are bloated (e.g. concurrencpp) or have many open Issues. Ideal usage would be similar to:
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
I use concurrencpp for my asynchronous code and the repo is written in modern cpp, with tests, sanitizers and what not.
What are some alternatives?
codechecker - CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
libunifex - Unified Executors
ikos - Static analyzer for C/C++ based on the theory of Abstract Interpretation.
asio-grpc - Asynchronous gRPC with Asio/unified executors
awesome-hpp - A curated list of awesome header-only C++ libraries
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
cpp20.py - Python script to compile C++20 code using modules.
PhotonLibOS - Probably the fastest coroutine lib in the world!
awesome-cpp - A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
coost - A tiny boost library in C++11.
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
ue5coro - A gameplay-focused C++17/20 coroutine implementation for Unreal Engine 5.