community

CppCon 2017: ThinLTO: Scalable and Incremental Link-Time Optimization--Teresa Johnson

Have you registered for CppCon 2018 in September? Early bird 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:

ThinLTO: Scalable and Incremental Link-Time Optimization

by Teresa Johnson

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. However, the memory and time required to optimize the entire program together as a single unit traditionally has made whole program optimization infeasible for complex and large C++ applications, such as those being built at Google. Additionally, traditional whole program optimization frameworks have not supported fast incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that was recently deployed in the LLVM compiler toolchain to enable scalable whole program optimization for these huge C++ applications, and additionally enables the fast incremental builds required for use in day-to-day development.

In this talk we’ll describe why whole program optimization is beneficial for C++ applications, how the ThinLTO compilation model enables scalable and incremental builds, and how ThinLTO can be integrated with distributed build systems for even faster whole program builds. Additionally, we’ll describe implications for C++ developers.

Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 1--Jonathan Boccara

Were you there?

Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 1

by Jonathan Boccara

From the article:

Going to conferences is a great experience, to learn about your domain and meet people that work in it. Going to conferences can give you tools to write better code.

I’ve had the chance to go to (and speak at) three conferences over a month:

  • ACCU in Bristol, UK at the beginning of April,
  • C++ Russia in Saint-Petersburg, Russia in mid April,
  • C++Now in Aspen, US at the beginning of May.

I haven’t seen many people attending all three of them, so I figured I could make a combined trip report, to give you an idea of what they’re like. And more importantly what you would get by attending either one.

And a huge thanks to the company I work for, Murex, for sending me all over the world of C++!

CppCon 2017: The Nightmare of Move Semantics for Trivial Classes--Nicolai Josuttis

Have you registered for CppCon 2018 in September? Early bird 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:

The Nightmare of Move Semantics for Trivial Classes

by Nicolai Josuttis

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Assume, we implement a very simple class having just multiple string members. Even ordinary application programmer prefer to make it simple and fast.

You think you know how to do it? Well beware! It can become a lot harder than you initially might assume.

So, let’s look at a trivial class with multiple string members and use live coding to see the effect using different implementation approaches (using constructors passing by value, by reference, by perfect forwarding, or doing more sophisticated tricks).

Sooner than later we will fall into the deep darkness of universal/forwarding references, enable_if, type traits, and concepts.

CppCon 2017: EA’s Secret Weapon: Packages and Modules--Scott Wardle

Have you registered for CppCon 2018 in September? Early bird 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:

EA’s Secret Weapon: Packages and Modules

by Scott Wardle

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

A lot of people hate build systems. What if using a library was just as easy as header-only libraries?

EA has had a Secret Weapon called “packages” for over 14 years. EA's Packages are like Ruby’s Gems or Perl’s CPAN or Rust’s cargo. If you build a package from the package server it will download all of its dependencies.

This talk will be about what we have learned about packages and versioning while building our large AAA games over the last 10+ years. Finally, what do we see for the future, like how will C++ modules fit in?

In detail I will talk about:
-Package layout
-Package server
-Versioning control and packages
-Libraries teams and platform fragmentation
-Packages' effect on large scale architecture
-C++ Modules TS prototypes

Start speaking at Meeting C++ 2018

As it was a big success last year, Meeting C++ has again a track for new speakers, and is looking for folks which like to submit their talk ideas to the conference!

The call for Talks for Meeting C++ 2018 ends on June 17th.

Call for a more diverse program at Meeting C++ 2018!

by Jens Weller

From the article:

Last years track for new speakers was a great success, so Meeting C++ will dedicate a track to this now in every year. So I'd like to reach out to the C++ Community, who do you think has something interesting to say about C++ and could start speaking at this years Meeting C++?

C++ User Group Meetings in June

Lots of User Groups are meeting in June, Meeting C++ has posted an detailed overview:

C++ User Group Meetings in June 2018

by Jens Weller

From the article:

The monthly overview of upcoming C++ User Group meetings. Join a C++ User Group near you, or learn how to start your own!

There are 4 new C++ User Groups: Houston, Prague, Cluj, New York.

 

Hello CMake!--Arne Mertz

Do you use it?

Hello CMake!

by Arne Mertz

From the article:

Since I have mentioned CMake in a handful of past blog posts, it is time to give a short introduction for those that don’t know it yet.

CMake is one of the most popular build systems for C++ out there. One of the main reasons probably is that it is cross-platform: It does not build the project itself but operates a platform-specific system. That means it can generate Makefiles, ninja-build files, or project files for Visual Studio or Xcode, to name just a few...

Default-constructibility is overrated--Arthur O’Dwyer

What do you think?

Default-constructibility is overrated

by Arthur O’Dwyer

From the article:

The Ranges Technical Specification includes very many concept definitions (based on the Concepts TS), including for example Integral and Predicate. It also provides a concept named Regular which implements a variation on the “Regular” concept described by Alexander Stepanov in his paper '’Fundamentals of Generic Programming’’ (1998)...

Quick Update on C++ Compiler Bug Hunt--No Bugs" Hare

Looking for the bug.

Quick Update on C++ Compiler Bug Hunt

by No Bugs" Hare

From the article:

Some time ago, I wrote a post about kscope – mini-project on finding and reporting bugs in modern C++ compilers. The point was that there is a way to use C++ facilities to make C++ code self-mutating (more strictly – pseudo-randomized using externally supplied ITHARE_KSCOPE_SEED macro), which allows finding certain classes of bugs during randomized testing. In the previous post, I wrote about 12 bugs reported, with 3 of them already fixed. I have to admit that since that point, I didn’t have as much time as I’d like to spend on kscope; still, 3 more bugs were reported (2 of them being codegen bugs) – and quite a few were fixed (fortunately, bugfixing is one thing which doesn’t require my participation <wink />)...