Finding build bottlenecks with C++ Build Insights--Kevin Cadieux

Did you try it?

Finding build bottlenecks with C++ Build Insights

by Kevin Cadieux

From the article:

C++ Build Insights offers more than one way to investigate your C++ build times. In this article, we discuss two methods that you can use to identify bottlenecks in your builds: manually by using the vcperf analysis tool, or programmatically with the C++ Build Insights SDK. We present a case study that shows how to use these tools to speed up the Git for Windows open source project. We hope these tutorials will come in handy when analyzing your own builds...

2020-04 mailing available

cpp_logo.pngThe 2020-04 mailing of new standards papers is now available.

Note: Partly due to Covid-19, we are experimenting with having monthly mailings. This is the first of those.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
2020-04
N4858 Disposition of Comments: SC22 5415, ISO/IEC CD 14882 Barry Hedquist 2020-02-15 2020-04   WG21  
N4859 Editors' Report - Programming Languages - C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2020-04-03 2020-04   WG21  
N4860 Draft International Standard - Programming Languages - C++ Richard Smith 2020-04-08 2020-04   WG21  
N4861 Working Draft, Standard for Programming Language C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2020-04-08 2020-04 N4849 WG21  
P0533R6 constexpr for <cmath> and <cstdlib> Oliver Rosten, Edward Rosten 2020-04-14 2020-04 P0533R5 Library  
P0870R2 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2020-04-06 2020-04 P0870R1 SG6, LEWGI  
P1255R6 A view of 0 or 1 elements: views::maybe Steve Downey 2020-04-05 2020-04 P1255R5 Library Evolution  
P1315R5 secure_clear Miguel Ojeda 2020-04-15 2020-04 P1315R4 Library Evolution  
P1641R3 Freestanding Library: Rewording the Status Quo Ben Craig 2020-04-11 2020-04 P1641R2 SG14, Library Evolution  
P1654R1 ABI breakage - summary of initial comments Roger Orr 2020-04-10 2020-04 P1654R0 WG21  
P1949R3 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey, Zach Laine, Tom Honermann, Peter Bindels, Jens Maurer 2020-04-15 2020-04 P1949R2 SG16, Evolution, Core  
P2011R1 A pipeline-rewrite operator Barry Revzin, Colby Pike 2020-04-16 2020-04 P2011R0 EWGI  
P2013R1 Freestanding Language: Optional ::operator new Ben Craig 2020-04-14 2020-04 P2013R0 SG14, Evolution, Library Evolution  
P2034R1 Partially Mutable Lambda Captures Ryan McDougall, Patrick McMichael 2020-04-16 2020-04 P2034R0 EWGI  
P2044R2 Member Templates for Local Classes Robert Leahy 2020-04-14 2020-04 P2044R1 Evolution  
P2096R1 Generalized wording for partial specializations James Touton 2020-04-15 2020-04 P2096R0 Core  
P2098R1 Proposing std::is_specialization_of Walter E Brown, Bob Steagall 2020-04-11 2020-04 P2098R0 Library Evolution, Library  
P2138R1 Rules of Design<=>Wording engagement Ville Voutilainen 2020-04-14 2020-04 P2138R0 Evolution, Library Evolution  
P2146R0 Modern std::byte stream IO for C++ Amanda Kornoushenko 2020-03-19 2020-04   LEWGI  
P2149R0 Remove system_executor Robert Leahy 2020-04-14 2020-04   SG4  
P2150R0 Down with typename in the library! Alisdair Meredith 2020-04-14 2020-04   Library  
P2155R0 Policy property for describing adjacency Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen, Tom Scogland 2020-04-15 2020-04   SG1, SG14  
P2156R0 Allow Duplicate Attributes Erich Keane 2020-04-15 2020-04   EWGI, Evolution, Core  

The benefits and challenges of online live training -- Mateusz Pusz

Read about the benefits and challenges of online live training:

The benefits and challenges of online live training

by Mateusz Pusz

From the article:

Last week Jason Turner, Nicolai Josuttis, Rainer Grimm, Klaus Iglberger, and Mateusz Pusz met with the hosts of cpp.chat to talk about why training is valuable and to explain the particular challenges of such a profession in the days of social distancing.

Among others, C++ trainers discussed the benefits and issues with delivering the trainings and workshops in the online form. It turns out that online live training does not have to be a worse experience than participating in the face-to-face one. Read more...

 

Trip report: C++ Siberia 2020--Timur Doumler

Did you attend?

Trip report: C++ Siberia 2020

by Timur Doumler

From the article:

In 2019, I had a very busy conference year. I had just become self-employed, which meant I did not have to ask anyone’s permission anymore to go to a C++ conference. And because conferences are fun, I decided to go to all of them. Well, not all of them, but I ended up speaking at quite a few that year: CppOnSea (Folkestone), ACCU (Bristol), using std::cpp (Madrid), 4Developers (Warsaw), C++Now (Aspen), CoreC++ (Tel Aviv), C++Russia (both of them – Moscow & St. Petersburg), CppCon (Denver), ACCU Autumn (Belfast), MeetingC++ (Berlin), and finally CoreHard (Minsk). The latter one was particularly memorable because it was the first time a C++ conference invited me to deliver the opening keynote (and it was an amazing experience – thank you!)...

Qt, range-based for loops and structured bindings--Ivan Čukić

Do you have that problem?

Qt, range-based for loops and structured bindings

by Ivan Čukić

From the article:

Qt has a long history. The first stable version was released before the first version of C++ was standardized and long before the different C++ compiler vendors started shipping usable implementations of the C++ standard library. Because of this, Qt often followed (and still follows) some design idioms that feel unnatural to the usual C++ developer.

This can have some downsides for the Qt ecosystem. The evolution of the C++ programming language which sped up quite a bit in the last decade often brings improvements which don’t fit well with the Qt philosophy. In this blog, I offer some ways to work with this...

Online live trainings at Train IT

Train IT went online:

Online Live Trainings with Train IT

by Mateusz Pusz

From the article:

Traditional workshops are so-called "Closed Trainings". They are requested by a specific company, are delivered at its premises, and are provided only for its engineers, which means that they are closed to external participants.

On the other hand, "Open Trainings" are open to everyone but are harder to organize, thus provided less often. Additionally, they require participants to travel to a distant place of training, which besides additional time needed for it, also adds travel and accommodation costs to the training's registration fee.

Open Online Live Training joins the best parts of both cases. Read more...