7 Tips to improve the C++ algorithms complexity (Big-O)

Understanding algorithm complexity, specifically Big-O notation, is crucial for analyzing and comparing the efficiency of algorithms. In C++, as in other programming languages, the complexity of an algorithm can significantly impact the performance and scalability of an application. So it’s useful to know how to improve the algorithm complexity. But before that let’s explore the most common algorithm complexities:

Continue reading “7 Tips to improve the C++ algorithms complexity (Big-O)”

Boosting C++ Performance with Folly

The Folly library, developed by Facebook, is a collection of reusable C++ library components designed to complement the C++ standard library and boost the performance of C++ applications. Folly focuses on efficiency, providing highly optimized components that are particularly useful in performance-critical applications. Here are some key aspects of performance in the Folly library:

Continue reading “Boosting C++ Performance with Folly”

Another big tech company join the move away from C++ initiative, How we can stop this migration process?

Background

2011 marked the renaissance of C++, driven by the release of C++11 which introduced numerous features to modernize the language, such as lambda expressions, smart pointers, and a more efficient standard library. However, a decade later, major tech giants like Google, Microsoft, Amazon, Apple, and Meta are initiating processes to migrate away from C++. This shift highlights growing concerns about memory safety and the evolving landscape of systems programming.

Just recently there’s another big company joining the Moving away from C++ initiative. it concern Apple that recommend to replace C++ with Swift.

One could argue that the issue lies not with C++ itself, but with the developers using it. However, the reality is that big companies are shifting away from C++.

Continue reading “Another big tech company join the move away from C++ initiative, How we can stop this migration process?”

Master C++ Concurrency with ‘Concurrency with Modern C++

C++11 and beyond introduced a new thread library. This library includes utilities for starting and managing threads. It also contains utilities for synchronization like mutexes and other locks, atomic variables and other utilities.

It’s a good news to have a standard way to manage the concurrency in C++, indeed before the introduced features in the new standards, many libraries and ways existed to manage the concurrency in the C++ projects. Continue reading “Master C++ Concurrency with ‘Concurrency with Modern C++”