Tag: cppperformance

Introduction to Hardware Efficiency in Cpp – Ivica Bogosavljevic – CppCon 2022

  • Lobby
  • Tag Archives: cppperformance

https://cppcon.org/
---

Introduction to Hardware Efficiency C++ - Ivica Bogosavljevic - CppCon 2022
https://github.com/CppCon/CppCon2022

Not all programs are created equally: some use hardware resources optimally, others not so much. In this lecture we will talk about two basic types of hardware bottlenecks: the CPU bottleneck and the memory bottleneck. We will give information how to recognize if your code is memory bound or CPU bound and some ideas on how to overcome these limitations.

If the session is two hours long then we add the following description:
We will also talk about instruction level parallelism: what is instruction level parallelism, how it is connected to your program's performance, and how to improve your program's speed by increasing instruction level parallelism.

All the examples will be given in C++.
---

Ivica Bogosavljevic

Senior Software Engineer with 10 years of experience active in the domain of Linux and bare-metal embedded systems. His professional focus is application performance improvement - techniques used to make your C/C++ program run faster by using better algorithms, better exploiting the underlying hardware, and better usage of the standard library, programming language, and the operating system. Writer for a performance-related tech blog: https://johnysswlab.com]
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #hardware

Filed under: UncategorizedTagged with: , , ,

The Most Important Optimizations to Apply in Your C++ Programs – Jan Bielak – CppCon 2022

  • Lobby
  • Tag Archives: cppperformance

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

The Most Important Optimizations to Apply in Your C++ Programs - Jan Bielak - CppCon 2022
https://github.com/CppCon/CppCon2022

Writing efficient programs is hard. This is because it requires a lot of knowledge, experience and strategic thinking. There have been many talks on optimization and often each addresses a single concept. Being able to achieve a bird’s eye view of factors affecting performance often requires many hours of researching the topic. To lessen the mental burden of optimizing programs, I have picked out the techniques, I believe are most important. During the talk, I will present them in an organized manner and provide practical examples of how they can be applied.

I will first discuss what I believe are the main goals efficient programs strive to achieve. Then, I will present the general methods of achieving those goals. Then, for the majority of the talk, we will discuss a few dozen performance opportunities. For each of them, I will explain the underlying mechanism of how the optimisation works. I will avoid bluntly giving guidelines to follow without explanation. Each of the techniques naturally comes with its costs, and those will be discussed as well.

I will additionally discuss various performance pitfalls. These are sometimes called “premature pessimisations” in contrast to the often used term of “premature optimizations”. I will show examples of optimizations which do not incur any cost on program readability or maintainability and as such should be considered performance best practices. Avoiding their use doesn’t improve code in any manner, while making it slower.

This talk is intended for a diverse audience, as after all, probably most of the C++ community is interested in performance. It is appropriate for hobbyists and professionals alike, with varying experience with the language, due to the gradual increase in difficulty of examples. It will be a time productively spent.
---

Jan Bielak

Jan Bielak is a student at the Warsaw Staszic High School. His main areas of interest are physics and computer science. He is especially into advanced C++ cppcon.digital-medium.co.uk/tag/programming/">programming and physically based real-time rendering. He also hosts and educational YouTube channel. He is involved in the CyberDuck project and in the PaSh project. In free time, he likes to create renders in Blender.

Website: janbielak.com
GitHub: janekb04
YouTube: JBGraphics
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , , , , , ,

Refresher on Containers, Algorithms and Performance in C++ – Vladimir Vishnevskii – CppCon 2022

  • Lobby
  • Tag Archives: cppperformance

https://cppcon.org/
---

Refresher on Containers, Algorithms and Performance in C++ - Vladimir Vishnevskii - CppCon 2022
https://github.com/CppCon/CppCon2022

Standard C++ library and third-party frameworks offer a rich selection of containers with diverse functionality covering numerous use cases. Performance of those containers is defined not only by the complexity of algorithms in structures used to store and access data but significantly affected by underlying memory layout and allocation patterns. Understanding of these details is crucial for finding proper data handling design. More so, the introduction of the parallel execution policy encourages us to reconsider the abilities of some algorithms and containers.

In the talk, the topic of C++ container efficiency will be revisited and considerations on applicable usage patterns will be presented. The presentation will start with a brief outline of essential characteristics of algorithms and data structures and then will shift to the overview of practical performance of STL and third-party containers in typical scenarios and under various conditions. Situations where non-standard substitutions and extensions have advantages over standard containers will be highlighted and scenarios where a combination of various types of containers and external algorithms can effectively complement each other to increase overall performance will be analyzed.
---

Vladimir Vishnevskii

Vladimir is a software engineer with more than 17 years of experience applying C++ for development of complex software in areas like distributed systems and networking with focus on performance and reliability. Before his recent switch to Intel he was for more than 6 years part of the effort to bring modern C++ into automotive embedded software development.
__

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #containers

Filed under: UncategorizedTagged with: , , , , ,