IO2D demo: Maps--Michael Kazakov

Rendering maps.

IO2D demo: Maps

by Michael Kazakov

From the article:

This blog post describes another IO2D demo I wrote as a showcase of the library’s capabilities. The demo is a simple yet working GIS renderer. The OpenStreetMap service is used as a raw data provider, allowing for the visualization of any reasonably sized rectangular region. The demo supports querying OSM servers directly or loading existing data files. The entire source code of the sample is less than 800 lines of code, of which 250 lines deal with the rendering itself and another 360 lines handle the data model.

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.

Guy Davidson's Rapperswil trip report

The dust is settling at Rapperswil: what actually happened?

2D or not 2D: that is the question: Rapperswil trip report

by Guy Davidson

From the article:

The summer 2018 ISO C++ committee meeting took place in Rapperswil, apparently something of a favourite with the members. Being a short flight from my home I was able to arrive on Sunday afternoon, ready to start on Monday without fear of jet-lag. The last time I was in Switzerland was by accident when I went Interrailing in 1989. It was good to return and see what state my German is in.

 

What’s New in ReSharper C++ 2018.1

ReSharper C++ 2018.1 comes with two new important features: Debug Step Filters and Includes Analyzer.

ReSharper C++ 2018.1 highlights

by Igor Akhmetov

From the article:

This release comes with two new important features. First, Debug Step Filters lets you avoid stepping into specific functions during debugging. Second, Includes Analyzer helps investigate the dependencies between header files that affect build times.

JetBrains Dev Ecosystem survey: key Trends for C and C++

Most interesting findings from this year’s study by JetBrains relating to C and C++.

The Developer Ecosystem in 2018: Key Trends for C and C++

by Anastasia Kazakova

From the article:

It seems that among all the respondents developing in C, 48% have abandoned all unit testing frameworks. This is a hike of 18% compared with last year. In contrast, among C++ developers the abandon rate soared by 20% this year.

The C++17 standard was officially signed last year and is now seeing growing adoption numbers: 18%, compared with 12% last year. However, while nearly half of all respondents who are not on C++17 yet plan to upgrade to one or another new standard, only 8% of those who are not on C++17 yet are considering moving to C++17 in the next 12 months.

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.

CppCast Episode 153: Vcpkg with Robert Schumacher

Episode 153 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Robert Schumacher from Microsoft to discuss the vcpkg package manager and more.

CppCast Episode 153: Vcpkg with Robert Schumacher

by Rob Irving and Jason Turner

About the interviewee:

Robert Schumacher is a developer on the Microsoft Visual C++ Libraries team and the lead developer for vcpkg. He has previously worked on the MSVC implementation of the Modules TS and is the current maintainer of Cpprestsdk. Besides work, he occasionally indulges in functional programming and arguments about whether inheritance is fundamentally flawed.