efficiency

CppCast Episode 180: Semantic Merge for C++ code, Plastic SCM and more on version control

Episode 180 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Pablo Santos from Códice Software the company that develops a merge tool that parses and merges even refactored C++ code:

CppCast Episode 180: Semantic Merge for C++ code, Plastic SCM and more on version control

About the interviewee:

Prior to entering start-up mode to launch Plastic SCM back in 2005, Pablo worked as R&D engineer in fleet control software development (GMV, Spain) and later digital television software stack (Sony, Belgium). Then he moved to a project management position (GCC, Spain) leading the evolution of an ERP software package for industrial companies. During these years he became an expert in version control and software configuration management working as a consultant and participating in several events as a speaker. Pablo founded Codice SoftwaLogo-semantic-vertical-negative.pngre in 2005 and since then is focused on his role as chief engineer designing and developing Plastic SCM and SemanticMerge among other SCM products.

Using multi-stage containers for C++ development--Marc Goodner

An interesting method.

Using multi-stage containers for C++ development

by Marc Goodner

From the article:

Containers are a great tool for configuring reproducible build environments. It’s fairly easy to find Dockerfiles that provide various C++ environments. Unfortunately, it is hard to find guidance on how to use newer techniques like multi-stage builds. This post will show you how you can leverage the capabilities of multi-stage containers for your C++ development. This is relevant to anyone doing C++ development regardless what tools you are using...

AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode--Nick Uhlenhuth

Impressive.

AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode

by Nick Uhlenhuth

From the article:

After reading and writing enough code, you begin to notice certain usage patterns. For example, if a stream is open, it will eventually be closed. More interestingly, if a string is used in the context of an if-statement, it will often be to check if the string is empty or if it has a certain size. You begin to identify and use these coding patterns over time, but what if Visual Studio already knew these common patterns and could suggest them to you as you code? That’s exactly what IntelliCode does...

First Meeting Embedded Conference Schedule available

Meeting Embedded is a new conference with a focus on embedded, hosting lots of talks connected to embedded & C++, plus a keynote by Dan Saks!

Meeting Embedded 2018

Schedule

Organized by Jens Weller

From the article:

Meeting Embedded 2018 is a one day event focused on hard and software development for embedded and the IoT. Meeting Embedded will be at Vienna House Andel's Berlin Hotel on the 14th of November, right in front of Meeting C++!

CppCon 2017: Practical Techniques for Improving C++ Build Times--Dmitry Panin

Have you registered for CppCon 2018 in September? Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

Practical Techniques for Improving C++ Build Times

by Dmitry Panin

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Slow builds block all C++ developers from the work being done. At Facebook we have a huge codebase, where the time spent compiling C++ sources grows significantly faster than the size of the repository. In this talk we will share our practical experience optimizing build times, in some cases from several hours to just a few minutes. The majority of the techniques are open sourced or generic and can be immediately applied to your codebase.

Facebook strives to squeeze build speed out of everything: starting from a distributed build system, through the compiler toolchain and ending with code itself. We will dive into different strategies of calculating cache keys, potential caching traps and approaches to improve cache efficiency. We tune the compiler, specifically with compilation flags, profile data and link time options. We will talk about the benchmarks we use to track improvements and detect regressions and what challenges we face there. Finally, you will learn about our unsuccessful approaches with an explanation of why they didn't work out for us.

C++ Weekly Episode 125: The Optimal Way To Return From A Function—Jason Turner

Episode 125 of C++ Weekly.

The Optimal Way To Return From A Function

by Jason Turner

About the show:

In this episode of C++ Weekly Jason investigates the possible methods that one of two string values might be returned from a function. Which option is best? Which option can the compiler optimize the most? Do we take one return path or multiple return paths? Should a ternary be used?