C++ Weekly Episode 43: Stack Elision?—Jason Turner
Episode 43 of C++ Weekly.
Stack Elision?
by Jason Turner
About the show:
In this episode Jason explores Clang's and GCC's ability to elide stack operations during optimization.
February 10-15, Hagenberg, Austria
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Adrien Hamelin | Jan 3, 2017 01:48 PM | Tags: efficiency community
Episode 43 of C++ Weekly.
Stack Elision?
by Jason Turner
About the show:
In this episode Jason explores Clang's and GCC's ability to elide stack operations during optimization.
By Meeting C++ | Dec 16, 2016 10:48 AM | Tags: video performance intermediate experimental efficiency community c++14 c++11 boost basics advanced
A week full of video editing brings the first batch of Meeting C++ 2016 videos online:
More videos are online!
by Jens Weller
Meeting C++ 2016 Playlist
From the article:
With today, almost all videos from the A and all videos of the D Track are online. There is a recording issue with one talk in the A track, which might get resolved in 2017. Also since today, the Meeting C++ YouTube channel has more then 400k views!
The full video set you can find in the Meeting C++ 2016 Playlist, the newest videos are easily found by visiting the Meeting C++ YouTube channel or subscribing to this RSS feed.
By Meeting C++ | Dec 5, 2016 02:51 AM | Tags: modules efficiency concepts c++20 c++17 c++14 c++11 basics advanced
Since yesterday this years opening keynote by Bjarne Stroustrup is on youtube:
What C++ is and what it will become
by Bjarne Stroustrup
By Adrien Hamelin | Nov 23, 2016 12:29 PM | Tags: efficiency community
The new CLion is here!
CLion 2016.3 released
by Anastasia Kazakova
From the article:
In its third and final update this year, our cross-platform C/C++ IDE gets a firmer handle on modern language standards, incorporates top-voted changes in working with CMake project model, and brings lots of other enhancements. Take a closer look at these and other capabilities available in CLion 2016.3:
- C++ language support: user-defined literals, C++14 digit separator, overload resolution support, and dozens of code analysis improvements.
- C language support: C11 keywords support including auto-completion.
- Remote GDB debug on Windows platform.
- New approach to CMake project model: allows you to select the generation directory, open a project from an existing generation folder, and more.
- Automatic switching of resolve context per build/run configuration change.
- Semantic highlighting in the editor.
- For Unreal Engine developers: plugin for better completion for Unreal Engine 4 sources, 3rd party plugin for CMake generation, and performance improvements for project re-opening in CLion.
- Doxygen tparam tag support.
- Various VCS improvements.
By Mantosh Kumar | Nov 21, 2016 10:34 PM | Tags: performance efficiency
Discussion on how we can efficiently use std::vector<T> container.
6 Tips to supercharge C++11 vector performance
by Deb Haldar
From the article:
Vector is like the swiss army knife of C++ STL containers. In the words of Bjarne Stroutsoup – “By default, use Vector when you need a container”. For mere mortals like us, we take this as gospel and just run with it. However, Vector is just a tool and like any tool, it can be used both effectively or ineffectively.
In this article we’ll look at 6 ways to optimize usage of vectors. We’ll look at both efficient and inefficient ways to perform the most common programming tasks using vectors, measure the performance gain we obtain by using vectors efficiently and try to understand why we’re getting the performance gain.
By Adrien Hamelin | Nov 2, 2016 01:18 PM | Tags: intermediate efficiency
It means less errors.
Use Stronger Types!
by Arne Mertz
From the article:
Is everything we use a
string
for really just a bunch of characters? Is everything we use anint
for really just a number? Probably not. We can have stronger types than that...
By Adrien Hamelin | Oct 12, 2016 10:45 AM | Tags: efficiency community
Following the core guidelines is becoming easier.
C++ Core Check code analysis is included with VS “15”
by Andrew Pardoe
From the article:
Visual Studio “15” Preview 5 now includes the C++ Core Guidelines Checkers. This means you no longer have to install the C++ Core Check package from NuGet to check your code against rules and profiles in the C++ Core Guidelines. Just configure Code Analysis to include the C++ Core Check extensions.
By Meeting C++ | Oct 11, 2016 05:57 AM | Tags: intermediate efficiency deep learning cuda basics advanced
Today a new version of DLib is available:
DLib 19.2 released
Release notes
by Davis King
From the article:
... So the obvious thing to do was to add an implementation of MMOD with the HOG feature extraction replaced with a convolutional neural network. The new version of dlib, v19.2, contains just such a thing. On this page you can see a short tutorial showing how to train a convolutional neural network using the MMOD loss function. It uses dlib's new deep learning API to train the detector end-to-end on the very same 4 image dataset used in the HOG version of the example program. Happily, and very much to the surprise of myself and my colleagues, it learns a working face detector from this tiny dataset.
By Meeting C++ | Oct 6, 2016 06:50 AM | Tags: raii performance intermediate efficiency c++11 boost
Memories inspired by Herb Sutters Keynote at CppCon:
Subtle bugs through leaking
by Jens Weller
From the article:
Herb Sutters keynote on writing leak free code in C++ reminded me of seeing the opposite as a freelancer: code that has very obvious leaks. And it made me also think about what 'bugs' some of them caused.
By Adrien Hamelin | Sep 12, 2016 01:44 PM | Tags: intermediate efficiency
How do you do it?
Type annotation in C++
by Stoyan Nikolov
From the article:
In systems like game engines and our HTML renderer Hummingbird, developers have to work with objects transformed in different coordinate systems. Using one generic type can lead to confusion on what object is required in a particular situation. Errors are often subtle and hard to track. I tried to mitigate this by using stringent static typing in our software. New types are created by annotating them with metadata...