💬 Вопрос от подписчика: move семантика — когда она реально помогает?
Один из наших подписчиков поделился результатами профилирования:
🌚 Ожидания:
• Меньше копирований
• Faster передача объектов
• Оптимизация контейнеров
😱 Реальность:
• В 60% случаев компилятор и так делал оптимизации
• Move конструкторы не всегда noexcept
• Некоторые move операции дороже copy
Кто измерял реальный импакт от move семантики? Поделитесь находками в комментариях.
Библиотека C/C++ разработчика
Один из наших подписчиков поделился результатами профилирования:
Потратил неделю на анализ impact'а move семантики в нашем коде. Результаты неожиданные.
🌚 Ожидания:
• Меньше копирований
• Faster передача объектов
• Оптимизация контейнеров
😱 Реальность:
• В 60% случаев компилятор и так делал оптимизации
• Move конструкторы не всегда noexcept
• Некоторые move операции дороже copy
Кто измерял реальный импакт от move семантики? Поделитесь находками в комментариях.
Библиотека C/C++ разработчика
😁5🤔2❤1
🧨 Range views: детали реализации, неочевидное поведение и влияние на производительность
Современные диапазоны могут заменить 90% ваших циклов — но есть подводные камни.
Разработчик из Яндекса разобрал детали реализации
• Композируемость алгоритмов — строите цепочки операций через
• Ленивые вычисления — всё выполняется за один проход, экономя память и время
• Скрытое кэширование — почему константные объекты могут не компилироваться и как это обойти
• Проблемы с join и split — когда повторная итерация приводит к неопределённому поведению
• Оптимизация производительности — тесты показывают эквивалентность с ручным кодом
• Практические ловушки —
📹 Видео
Библиотека C/C++ разработчика #буст
Современные диапазоны могут заменить 90% ваших циклов — но есть подводные камни.
Разработчик из Яндекса разобрал детали реализации
ranges
, которые изменят ваш подход к обработке данных:• Композируемость алгоритмов — строите цепочки операций через
pipe operator
вместо вложенных циклов• Ленивые вычисления — всё выполняется за один проход, экономя память и время
• Скрытое кэширование — почему константные объекты могут не компилироваться и как это обойти
• Проблемы с join и split — когда повторная итерация приводит к неопределённому поведению
• Оптимизация производительности — тесты показывают эквивалентность с ручным кодом
• Практические ловушки —
double calls
, broken constness
и другие неочевидные эффекты📹 Видео
Библиотека C/C++ разработчика #буст
❤1
Forwarded from Библиотека Go-разработчика | Golang
💰 Сколько ты стоишь как разработчик
В переговорах о зарплате нет ничего хуже, чем назвать цифру «с потолка» и потом узнать, что рынок готов был платить больше.
Чтобы не гадать, а опираться на факты, есть три проверенных подхода. В статье — пошагово о каждом методе, с конкретными источниками и советами.
➡️ Читать статью
🐸 Библиотека Go-разработчика
В переговорах о зарплате нет ничего хуже, чем назвать цифру «с потолка» и потом узнать, что рынок готов был платить больше.
Чтобы не гадать, а опираться на факты, есть три проверенных подхода. В статье — пошагово о каждом методе, с конкретными источниками и советами.
Please open Telegram to view this post
VIEW IN TELEGRAM