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

Похожие статьи:
Руководство компании ASUS объявило о том, что часть производства будет перенесена в Индию. В частности на заводах компании Foxconn в этой...
У Forbes вийшло розслідування про компанію Helium. Компанія, яку оцінюють у $1,2 млрд, пообіцяла, що створить «Народну мережу», що повинна...
It seems like Brexit is a never ending process. The UK was supposed to leave the EU in March 2019, yet we are still no further forward as to what direction the UK is going to take. This makes trading the GBP extremely difficult, according to...
У часи регулярних знеструмлень особливо гостро стоїть питання енергонезалежності. Як зробити своє житло, а часто це й робоче...
Эта статья является адаптацией моего доклада «Python of things» с конференций Web Camp 2016 и SE2016. Интернет вещей (англ. Internet of Things, IoT) —...
Яндекс.Метрика