CPU design effects - Jakub Beránek - Meeting C++ 2019
A new video from Meeting C++
CPU design effects
by Jakub Beránek
June 17-20, Folkestone, UK
September 12-18, Aurora, CO, USA
November 16-21, Búzios, Rio De Janeiro, Brazil
November 26-28, Berlin, Germany
By Meeting C++ | Dec 22, 2019 01:58 PM | Tags: performance meetingcpp intermediate experimental efficiency basics advanced
A new video from Meeting C++
CPU design effects
by Jakub Beránek
By Meeting C++ | Dec 21, 2019 10:31 AM | Tags: performance multithreading meetingcpp intermediate experimental efficiency concurrency c++17 c++14 c++11 basics advanced
A new video from Meeting C++ 2019
Multithreading 101: Concurrency Primitives From Scratch
by Arvid Gerstmann
By Meeting C++ | Dec 13, 2019 12:15 PM | Tags: performance meetingcpp lakos john lakos intermediate experimental c++20 c++17 c++14 advanced
A new talk from Meeting C++ 2019:
Value Proposition: Allocator Aware Software
By John Lakos
By Meeting C++ | Dec 8, 2019 07:33 AM | Tags: walter e. brown security performance meetingcpp intermediate community code bugs basics advanced
Walter E. Browns Meeting C++ 2019 Closing Keynote:
Crazy Code and Crazy Coders - Walter E. Brown - Closing Keynote Meeting C++ 2019
by Walter E. Brown
By Meeting C++ | Dec 6, 2019 10:42 AM | Tags: performance meetingcpp intermediate howard hinnant experimental efficiency community chrono c++20 c++17 c++14 c++11 basics advanced
The first keynote of this years Meeting C++ conference is online:
Opening Keynote Meeting C++ 2019 - Howard Hinnant - Design Rationale for the chrono Library
by Howard Hinnant
By Adrien Hamelin | Aug 30, 2019 12:20 PM | Tags: performance community
Do you want to add any?
Myths of My Blog Readers
by Rainer Grimm
From the article:
I was very curious about your C++ myths. In particular, my German readers were quite active. I got a few E-Mails and observed a vivid discussion on Heise Developer...
By Adrien Hamelin | Aug 20, 2019 10:41 AM | Tags: performance community
We’re in the final countdown to this year’s CppCon, which starts on September 16. To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2019!
OOP Is Dead, Long Live Data-oriented Design
by Stoyan Nikolov
Summary of the talk:
For decades C++ developers have built software around OOP concepts that ultimately failed us - we didn’t see the promises of code reuse, maintenance or simplicity fulfilled, and performance suffers significantly. Data-oriented design can be a better paradigm in fields where C++ is most important - game development, high-performance computing, and real-time systems.
The talk will briefly introduce data-oriented design and focus on practical real-world examples of applying DoD where previously OOP constructs were widely employed.
Examples will be shown from modern web browsers. They are overwhelmingly written in C++ with OOP - that’s why most of them are slow memory hogs. In the talk I’ll draw parallels between the design of systems in Chrome and their counterparts in the HTML renderer Hummingbird. As we’ll see, Hummingbird is multiple times faster because it ditches OOP for good in all performance-critical areas.
We will see how real-world C++ OOP systems can be re-designed in a C++ data-oriented way for better performance, scalability, maintainability and testability.
By Adrien Hamelin | Jun 3, 2019 11:55 AM | Tags: performance
Quick A: performance.
Recently on SO:
Why does moving std::optional not reset state?
In a word: Performance.
One of the chief motivating reasons for move semantics to exist in the first place is performance. So the special operations move construction and move assignment should be as fast as possible for all types...
By Adrien Hamelin | May 29, 2019 12:26 PM | Tags: stl performance c++14
Did you know?
Heterogeneous Lookup in Ordered Containers, C++14 Feature
by Bartlomiej Filipek
From the article:
If you have a map of strings, like std::map<std::string, int> m; and you want to find some element by m.find("abc"). Do you have to pay the price and construct a std::string object? Can you optimize it?
Let’s have a look at one feature enabled in C++14 that might help optimize such container access...
By Hartmut Kaiser | May 23, 2019 09:31 AM | Tags: performance parallelism heterogeneous computing distributed computing c++17 c++14 c++11
The STE||AR Group has released V1.3 of HPX -- A C++ Standard library for parallelism and concurrency.
HPX V1.3 Released
The newest version of HPX (V1.3) is now available for download! This release focuses on performance and stability improvements. Please see here for the full release notes.
HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).
HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.