just C++ - generic code: first episode
A new video series at Meeting C++: just C++
just C++ - generic code
by Jens Weller
the video:
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Meeting C++ | Jun 2, 2017 05:39 AM | Tags: c++14 c++11 basics advanced
A new video series at Meeting C++: just C++
just C++ - generic code
by Jens Weller
the video:
By Adrien Hamelin | May 31, 2017 12:45 PM | Tags: performance c++11
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Game engine using STD C++ 11
by Jason Jurecka
Summary of the talk:
This session is going to give an account of the process and features used to create a game engine focusing on using std C++11 features and concurrency. We will go through the architecture of the engine design and the specifics of the C++11 features being used. We will also go through optimization choices and design mentalities that are being used to keep the code base simple, but powerful in game usage. The engine architecture we will be going through will be using parallelism as a way to distribute work and get performance out of the available hardware that can scale into the future.
While completing a full engine with cutting edge graphics techniques and a game to push the engine to its limits will take a while this session will go over the current state of the project and lessons learned. The ultimate goal of the project is to show the validity of using C++11 (and beyond) features in game engines to simplify code and improve stability while maintaining the performance and memory usage games demand.
By Jason Turner | May 30, 2017 02:09 PM | Tags: c++11 basics
Episode 65 of C++ Weekly.
C++11's std::fmin
by Jason Turner
About the show:
Jason covers C++11's std::fmin function: why it exists and what it is good for. He then demonstrates how an efficient variadic version of it can be implemented.
By Adrien Hamelin | May 29, 2017 12:55 PM | Tags: experimental efficiency
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Channels - An alternative to callbacks and futures
by John Bandela
Summary of the talk:
Currently in the C++ Networking TS and Concurrency TS, callbacks and futures are the means for communicating an asynchronous value. However, there are disadvantages with both. Callbacks are low overhead, but hard to compose. Futures are easy to compose, but have increased overhead. In this talk we will consider channels as a third alternatives that can have lower overhead than futures while still being easy to compose
By Adrien Hamelin | May 26, 2017 01:06 PM | Tags: performance efficiency
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17
by Jason Turner
Summary of the talk:
The Commodore 64 was released in 1982 and is the best selling computer model of all time. At 34 years old, even the most simple embedded processor today outperforms it. Join me on an exploration of how C++17 techniques can be utilized to write expressive, high performance, high level code for simple computers. Together we will create a game for this aging system.
You'll leave the talk with a better understanding of what your compiler is capable of and be able to apply these ideas to create better code on modern systems.
By robwirving | May 26, 2017 07:00 AM | Tags: None
Episode 102 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Niall Douglas to talk about Google Summer of Code, Boost and his proposed Outcome library.
CppCast Episode 102: Boost Outcome with Niall Douglas
by Rob Irving and Jason Turner
About the interviewee:
Niall Douglas is a consultant for hire, is one of the authors of the proposed Boost.AFIO v2 and Boost Outcome, he is also currently the primary Google Summer of Code administrator for Boost.
By Jon Kalb | May 23, 2017 10:57 AM | Tags: c++now
CppChat:
CppChat[22]: C++Now 2017
with Alex Zaitsev, Anastasia Kazakova, Jason Turner, Jens Weller, Jonathan Müller, Kjell Hedstrom, Malte Skarupke, Matt Calabrese, Morris Hafner, Odin Holms, Peter Bindels, Robin Kuzmin, Vittorio Romeo, and Jon Kalb.
From the chat:
This episode was recorded at C++Now. Conference attendees talk about their C++Now experiences and favorite sessions. Guests include some of the speakers, volunteers, sponsors, and staff.
By Adrien Hamelin | May 22, 2017 02:08 PM | Tags: performance
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Want fast C++? Know your hardware!
by Timur Doumler
Summary of the talk:
As C++ evolves, it provides us with better and more powerful tools for optimal performance. But often, knowing the language very well is not enough. It is just as important to know your hardware. Modern computer architectures have many properties that can impact the performance of C++ code, such as cache locality, cache associativity, true and false sharing between cores, memory alignment, the branch predictor, the instruction pipeline, denormals, and SIMD. In this talk, I will give an overview over these properties, using C++ code. I will present a series of code examples, highlighting different effects, and benchmark their performance on different machines with different compilers, sometimes with surprising results. The talk will draw a picture of what every C++ developer needs to know about hardware architecture, provide guidelines on how to write modern C++ code that is cache-friendly, pipeline-friendly, and well-vectorisable, and highlight what to look for when profiling it.
By Felix Petriconi | May 21, 2017 12:10 PM | Tags: community
The recordings of the recent ACCU conference in Bristol are now online.
ACCU 2017 Conference Channel
by the ACCU conference
About the conference:
All the speaker made the this years conference to one of the most successful ones. Below are the speakers listed with C++ sessions.
Day One with Louis Dionne, Anastasia Kazakova, Roger Orr, Marshall Clow, Frank Birbacher, Timur Doumler, Kevlin Henney
Day Two with Hubert Matthews, Arne Metz, Guy Davidson, Peter Sommerlad, John Lakos
Day Three with Atho Truu, Daniel Garcia, Petr Kudriavtsev, Steven Simpson, Sergei Sadovnikov, Dominic Robinson, Bjorn Fahller
Day Four with Vittorio Romeo, Phil Nash, Niall Douglas, Anthony Williams, Odin Holmes
Herb Sutter's closing keynote about C++ meta classes will be released later.
By Adrien Hamelin | May 19, 2017 11:29 AM | Tags: performance experimental efficiency
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Using Types Effectively
by Ben Deane
Summary of the talk:
C++ has a pretty good type system, and modern C++ gives us a greater ability than ever before to use that type system for good: to make APIs easier to use and harder to misuse, to make our datatypes more closely express our intent, and generally to make code safer, more obvious in function and perhaps even faster.
This is an interactive session - incorporating games played between presenter and audience, even - taking a look at choices available to us as datatype and API designers, and examining how a little knowledge about the algebra of algebraic datatypes can help. We'll see why std::optional and (hopefully soon) std::variant will quickly become an essential part of everyone's toolbox, and also explore how types can be used to express not just the structure of data, but also the behaviour of objects and functions.