C++ дайджест № 3: Управління пам’яттю та алгоритми

Про управління пам’яттю, алгоритми та структури даних, а також трошки історії алгоритмів та ОС Unix, CppCon 2015 та інше.

Алгоритми та структури даних

Як написати константний вираз для обчислення натурального логарифма на C++.

Gorilla — архітектура швидкої, масштабованої бази даних для роботи з часовими рядами в пам’яті — наукова стаття від працівників Facebook Inc.

Відео

Jonathan Blow — роздуми про те, яким повинна бути нова мова програмування для ігор. Відео достатньо старе, але варте уваги. Автор дискутує про фундаментальні проблеми C++, а також аналізує, які альтернативи пропонують «нові» мови програмування.

CppCon 2015: Scott Wardle: «Пам’ять та відлагоджування коду на C++ в Electronic Arts».

Frameworks, Tools & Services

Amazon випустив AWS SDK для C++ після багатьох років розробки. Як заявляють програмісти — для розробників ігор. SDK інтегрується з STL, підтримує стандарт C++11 та багато іншого.

ConcurrencyKit — бібліотека, що реалізує примітиви, неблокуючі структури даних та безпечний доступ до пам’яті на С.

Jim Springfield про те, як Microsoft збирається «омолодити» свій C/C++ компілятор.

Модульне тестування Embedded C додатків за допомогою Ceedling.

Нарешті і в C++ світі почали з’являтись достойні менеджери пакетів. Прикладом є свіжий qpm.io — Qt Package Manager. А тут — анонс.

Object-Oriented Design

Реалізація шаблону проектування Dependency Injection на C++ з використанням Variadic Templates.

Техніки об’єктно-орієнтованої розробки на С, а також генератор boilerplate-коду.

Stupid Template Tricks: Template Assembler.

Управління пам’яттю

ManagedC — цікава наукова стаття про те, як організувати memory-safe виконання C коду на JVM.

Joint Allocations in C++ - стаття про те, як уникати сегментації пам’яті при роботі з комплексними об’єктами.

Нові елементи С++ - конструктори переміщення та оператор присвоєння з переміщенням.

Eli Bendersky про організацію видалення деструкторів та віртуальну таблицю операторів в картинках.

Linux Insights — як Linux запускає і виконує програму. Четверта стаття циклу. Там же є посилання на інші статті (будуть корисні системним розробникам та просто розробникам додатків під Linux).

buldozer00: Stack, Heap, and Pool — реалізація пула пам’яті на C++11.

Alexander Krizhanovskiy: Швидкі алокатори пам’яті: Boost, nGinX, та Tempesta FW.

Nicole Hemsoth про те, що немає такої речі, як продуктивність роботи пам’яті.

Pet Monster Projects

Pierre Langlois з презентацією про те, як інтегрувати KDBus в Android.

Folly Futures — реалізація Futures для concurrency від Facebook.

Вступ до розробки ядра Linux, або стаття про те, як долучитись до проекту.

На Cassandra Summit показали ScyllaDB — Cassandra, переписана на С++, що працює в 10 разів швидше.

Трошки історії

Кращі алгоритми 20-го століття: топ-10 за версією редакції SIAM.

Для цінувальників антикваріату: «відреставровані» коди першої версії ОС Unix.

Інше

C++ Frequently asked Questions & Answers опубліковані на Github.

C++ Core Guidelines — рекомендації по розробці на C++ під редакцією Bjarne Stroustrup та Herb Sutter.

Andrew Chambers: Calling Conventions are hard та невеличка утиліта ABIFUZZ.

Часткове виконання байт-коду з використанням C++ шаблонів.

Herb Sutter: CppCon 2015, day 2: «Writing Good C++14... By Default».

Benny Kerr для MSDN magazine про корутіни в Visual C++ 2015.

Шютки

— Why do you call this version of software ’beta’?

— Coz it’s beta than nothing.

Bud представив холодильник, в якому не закінчується пиво :)


← Попередній випуск: C++ дайджест #2

Похожие статьи:
[Про автора: Юрій Савка — працює на посаді Senior PHP developer в компанії Rocket Internet в Берліні, веде блог] Люди почали мріяти про комунізм відразу...
До 16 липня кожен військовозобов’язаний повинен оновити свої контактні дані через застосунок «Резерв+», ЦНАП або територіальні центри...
Представим себе, что вы ведете проект по разработке программного продукта и уже подошли к этапу, когда минимальный скоуп завершен,...
В выпуске: что нового в C# 7.0, с чего начинать в .NET Core 1.1, анонс .NET Framework 4.7, как организовать unit тесты с Autofixture и xUnit, улучшения...
2020-й майже минув, можна помалу видихнути та підбити підсумки. Для редакції DOU рік видався насиченим, продуктивним, але дещо...
Яндекс.Метрика