C++ дайджест #23: оптимізація компіляції та підсумки року
Привіт, мої любі сішники! Вітаю вас з Новим роком та Різдвом! Нехай у цьому році код стає якіснішим, компіляція швидшою, а проекти цікавішими! ;)
Новорічний випуск пропоную присвятити підсумкам року та оптимізації компіляції. То ж почнімо? :)
Підсумки 2019
C++ at the end of 2019 — детальний підсумок у подіях та фактах.
На Meeting C++ запущено опитування , за яким маємо такі цікаві результати (результати актуальні на 10 січня та можуть змінюватися в зв'язку з тім, що опитування ще триває).
Найчастіше зі стандартів використовуються:



Бібліотеки:


Середовище:



Оптимізація годині компіляції
Досить тривалий годину компіляція є одним із суттєвих недоліків З++. Хоча тривала компіляція забезпечує нам можливість заварювати каву та переглядати останні новини/дайджести без поспіху, вона може стати суттєвим головним болем перед дедлайном. Тож розглянємо, як оптимізувати.
Герб Саттер для вирішення цієї проблеми пропонує перевірити хедери та використовувати Pimpl , як і хлопці в цьому блозі:
- Reduce C++ Build Times by Reducing Header Dependencies ,
 - Reduce C++ Build Times (Part 2) with the Pimpl Idiom .
 
Онлайн книга С++ best practices пропонує більш розширений список рекомендацій .
З цієї тими корисно буде почитати:
- Faster C++ builds ;
 - Speeding up the Build of C and C++ Projects ;
 - A simple comparison ;
 - Making Compiles Slow Through Abuse of Templates .
 
Відео з CppCon:
Modern C++
C++20: Concepts — What we don't get
C++20: Concepts, the Placeholder Syntax
C++ coroutines: Getting started with objects awaitable
A beginner's guide to C++ Ranges and Views
Корисні посилання
Substitution Failure is Error and Not An Error
What Is MISRA and how to Cook It
Modern C++ type CoDec Challenge
Dry-comparisons: A C++ Library to Shorten Redundant If Statements
Accidentally Overwriting Another Local Variable in C and C++
The Eight Rules of Multithreaded Qt
Open sourcing Google Cardboard
Waiting for std::embed: Very Large Arrays in Clang
Інструменти
Top 10 Bugs Found in C++ Projects in 2019 PVS studio
CMake 3.16 added support for precompiled headers & unity builds
A Gentle Intro to Developing C++ Apps for AWS and S3
CLion: Our Plan for Next Year and the 2020.1 Roadmap
Build C++ Applications in a Linux Docker Container with Visual Studio
Оновлення
Цього місяця маємо такі оновлення:
- CLion 2019.3 ;
 - Wt & JWt 3.5.0 and Wt 4.2.0 ;
 - Ogre 1.12.4 ;
 - boost v.1.72.0 ;
 - Qt 5.9.9 , Qt Installer Framework 3.2.0 , Qt 5.14 , Qt Visual Studio Tools 2.4.2 ;
 - Conan 1.21 ;
 - Unreal Engine 4.24 ;
 - CryEngine 5.6.5 ;
 - Announcing NVIDIA PhysX SDK 5.0 ;
 - Nsight Systems 2019.6 ;
 - ReSharper C++ 2019.3 ;
 - PVS-Studio 7.05 .
 
Хвилиночка флуду

? Попередній випуск: C++ дайджест #22 
Опубліковано: 11/01/20 @ 11:00
Розділ  Різне  
Рекомендуємо:
Розгортаємо AWS для розробки локально на базі LocalStack
 Асинхронність в C#. Руйнування легенд
 Чи є життя після macOS, або Як я переїхав на Linux десктоп і не шкодую
 Коли в добі досить годин, або Чому варто навчитися грамотному плануванню
 DOU Hobby: авіамоделювання - від розробки моделі літака до запуску в небо