Окт 10, 2015 - 0 Comments - Без рубрики -

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


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *