Форум программистов, компьютерный форум, киберфорум
bytestream
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
C++26: Read-copy-update (RCU)
Запись от bytestream размещена 30.10.2025 в 20:10
Показов 6434 Комментарии 0
Метки aba, c++, c++26, multithreading, rcu

Нажмите на изображение для увеличения
Название: C++26 Read-copy-update (RCU).jpg
Просмотров: 635
Размер:	196.3 Кб
ID:	11356
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда захожу в код с активным использованием std::mutex, вижу одну и ту же картину - потоки простаивают в очередях, ожидая доступа к данным, которые в 90% случаев просто читаются.
...
Аватар для bytestream
Старый
Рейтинг: 5.00. Голосов: 1.
C++26 и SIMD: Data-Parallel Types
Запись от bytestream размещена 29.09.2025 в 19:57
Показов 4446 Комментарии 0

Нажмите на изображение для увеличения
Название: C++26 и SIMD Data-Parallel Types.jpg
Просмотров: 271
Размер:	153.0 Кб
ID:	11237
SIMD (Single Instruction, Multiple Data) – это архитектурный подход, позволяющий одной инструкцией процессора обрабатывать сразу несколько элементов данных параллельно. Представьте, что вместо того, чтобы складывать числа по одному, вы можете взять сразу 4, 8 или даже 16 пар чисел...
Аватар для bytestream
Старый
CppCon 2025: что ждет нас на главной конференции года
Запись от bytestream размещена 06.09.2025 в 13:12
Показов 6552 Комментарии 0
Метки c++, c++26, cppcon, straustrup

Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года.jpg
Просмотров: 232
Размер:	231.9 Кб
ID:	11112
Наконец-то дождались! Програма главного события года для C++ разработчиков официально анонсирована, и я спешу поделиться инсайдами о том, что нас ждет на CppCon 2025. Скажу сразу — мероприятие обещает стать настоящим праздником для всех адептов плюсов, независимо от уровня подготовки и сферы применения...
Аватар для bytestream
Старый
Рейтинг: 5.00. Голосов: 1.
Статический ИИ-анализ: устранение утечек памяти в C с помощью DeepCode
Запись от bytestream размещена 28.08.2025 в 20:04
Показов 4866 Комментарии 1

Нажмите на изображение для увеличения
Название: Статический ИИ-анализ устранение утечек памяти в C с помощью DeepCode.jpg
Просмотров: 304
Размер:	244.8 Кб
ID:	11074
Мой первый серьезный проект на C - система обработки финансовых транзакций для одного банка. Мы обрабатывали миллионы транзакций в день, и всё работало как швейцарские часы... первые две недели. А потом наша прекрасная система начала падать. Раз в день. Потом раз в час. В конце концов, я провел 36 часов без сна, гоняясь за утечкой памяти, которая оказалась в одной-единственной строчке кода:

C
1
2
void process_transaction(char* data) {
    char* copy
...
Аватар для bytestream
Старый
Представления как элементы данных для пользовательских итераторов - Оптимизация
Запись от bytestream размещена 04.08.2025 в 16:51
Показов 5129 Комментарии 0
Метки c++, c++20, range, sfinae, stl

Нажмите на изображение для увеличения
Название: Представления как элементы данных для пользовательских итераторов 3.jpg
Просмотров: 370
Размер:	170.8 Кб
ID:	11029
Разумеется, у представлений и их использования для создания пользовательских итераторов не только сплошные преимущества. За годы экспериментов с этим подходом я набил немало шишек и хочу поделиться опытом, чтобы вы не наступали на те же грабли.

Типичные ошибки при реализации



Первое, с чем я регулярно сталкиваюсь (и что часто прижигает новичков в работе с представлениями)...
Аватар для bytestream
Старый
Представления как элементы данных для пользовательских итераторов - Создание собственного итератора-представления
Запись от bytestream размещена 03.08.2025 в 12:49
Показов 4138 Комментарии 0

Нажмите на изображение для увеличения
Название: Представления как элементы данных для пользовательских итераторов 2.jpg
Просмотров: 446
Размер:	196.7 Кб
ID:	11028
Я хочу показать, как создать собственный итератор, используя представления в качестве членов класса. Для меня этот подход стал настоящим откровением, когда я пытался решить классическую проблему обхода вложенных структур данных.

Итератор для вектора векторов



Представьте типичную задачу с собеседования: у вас есть вектор векторов, и вам нужно реализовать итератор,...
Аватар для bytestream
Старый
Представления как элементы данных для пользовательских итераторов - Введение
Запись от bytestream размещена 02.08.2025 в 21:55
Показов 4151 Комментарии 0

Нажмите на изображение для увеличения
Название: Представления как элементы данных для пользовательских итераторов.jpg
Просмотров: 425
Размер:	169.6 Кб
ID:	11027
Когда я впервые столкнулся с представлениями (views) в C++20, то сразу понял - это игра по новым правилам. В мире, где производительность по-прежнему стоит во главе угла, а память все дороже, возможность создавать абстракции без накладных расходов выглядит почти как магия. Но это не магия, а...
Аватар для bytestream
Старый
C++23, квантовые вычисления и взаимодействие с Q#
Запись от bytestream размещена 02.07.2025 в 19:27
Показов 8137 Комментарии 0

Нажмите на изображение для увеличения
Название: C++23, квантовые вычисления и взаимодействие с Q#.jpg
Просмотров: 340
Размер:	174.8 Кб
ID:	10949
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние пять лет мы наблюдаем фантастический прогресс: от лабораторных прототипов до реальных квантовых компьютеров с...
Аватар для bytestream
Старый
Топ10 библиотек C для квантовых вычислений
Запись от bytestream размещена 12.06.2025 в 20:24
Показов 10449 Комментарии 0

Нажмите на изображение для увеличения
Название: Топ10 библиотек C для квантовых вычислений.jpg
Просмотров: 370
Размер:	211.9 Кб
ID:	10900
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня типа Python с его удобными библиотеками, я считаю, что именно C и C++ остаются незаменимыми инструментами для тех, кто действительно хочет выжать максимум производительности из квантовых...
Аватар для bytestream
Старый
Сравнение GCC 14 и Clang 18 компиляторов C для HPC
Запись от bytestream размещена 08.06.2025 в 20:25
Показов 6648 Комментарии 0
Метки c, c++, clang, gcc, highload, hpc, llvm, openmp, simd, си

Нажмите на изображение для увеличения
Название: Сравнение GCC 14 и Clang 18 компиляторов C для HPC.jpg
Просмотров: 390
Размер:	246.2 Кб
ID:	10889
В высокопроизводительных вычислениях (HPC) выбор компилятора - это ход, способный радикально изменить производительность всей системы. Работая последние 15 лет с критическими HPC-системами, я видел случаи, когда замена компилятора буквально "вытягивала" проект...
Аватар для bytestream
Старый
Оптимизация CMake для ускорения сборки
Запись от bytestream размещена 02.06.2025 в 21:50
Показов 7009 Комментарии 0
Метки c++, ci/cd, clang, cmake, gcc

Нажмите на изображение для увеличения
Название: ad221b5a-1a8e-4d1c-b872-01f3e4f4db0f.jpg
Просмотров: 236
Размер:	212.6 Кб
ID:	10869
Вы когда-нибудь ловили себя на мысле, что пока ваш проект компилируется, можно успеть сварить кофе, прочитать главу книги или даже сбегать в соседний офис? Если да, то добро пожаловать в клуб разработчиков, страдающих от медленной сборки. Я и сам не раз проклинал время, которое тратилось на каждую итерацию "написал код - скомпилировал - запустил". Особенно, когда речь заходит о крупных C++ проектах, управляемых через CMake.

Профилирование

...
Аватар для bytestream
Старый
Многопоточные приложения на C++
Запись от bytestream размещена 14.05.2025 в 19:47
Показов 6299 Комментарии 0

Нажмите на изображение для увеличения
Название: 4e009c31-70d0-4d8e-bc16-3b818495be02.jpg
Просмотров: 225
Размер:	240.0 Кб
ID:	10808
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков, мьютексов и атомарных операций. Последующие стандарты — C++14, C++17 и C++20...
Аватар для bytestream
Старый
C++ и OpenCV - Гайд по продвинутому компьютерному зрению
Запись от bytestream размещена 10.05.2025 в 20:08
Показов 13877 Комментарии 0

Нажмите на изображение для увеличения
Название: 0ac0fea5-8637-4944-9d28-71d5c308e84a.jpg
Просмотров: 295
Размер:	270.4 Кб
ID:	10786
Компьютерное зрение — одна из тех технологий, которые буквально меняют мир на наших глазах. Если оглянуться на несколько лет назад, то сложно представить, что алгоритмы смогут не просто распознавать объекты на фотографиях, но и воссоздавать трёхмерные модели из...
Аватар для bytestream
Старый
Dynamic Language Runtime (DLR) в C#
Запись от bytestream размещена 10.05.2025 в 16:32
Показов 2729 Комментарии 0
Метки .net, c#, dlr, dsl, dynamic, metaprogramming

Нажмите на изображение для увеличения
Название: c66aa03d-a1db-41d9-bd05-74c360aa9f33.jpg
Просмотров: 203
Размер:	172.9 Кб
ID:	10782
C# всегда славился своей строгой статической типизацией и появление Dynamic Language Runtime (DLR) стало настоящим переворотом. Эта технология буквально взорвала традиционные представления о том, что такое C# и какие рамки у него существуют. DLR — это не просто набор классов или дополнительная библиотека, а полноценная подсистема .NET, благодаря которой статически типизированный язык C# приобрёл способность работать...
Аватар для bytestream
Старый
Форматирование текста с std::format в C++
Запись от bytestream размещена 07.05.2025 в 15:03
Показов 3554 Комментарии 0
Метки c++, c++20, std::format

Нажмите на изображение для увеличения
Название: 8907d03d-3a4c-4c84-bcc1-0ab1b715076b.jpg
Просмотров: 199
Размер:	234.3 Кб
ID:	10761
Форматирование текста — одна из самых распространённых задач, с которыми сталкивается каждый разработчик. За долгую историю C++ было создано несколько подходов к решению этой казалось бы тривиальной проблемы, но, как часто бывает в мире программирования, у каждого из них обнаружились свои недостатки. Всё начиналось с печально известного семейства функций printf, унаследованных из языка C. Помню свой первый крупный проект на C++ — я тогда...
Аватар для bytestream
Старый
Рейтинг: 5.00. Голосов: 1.
Создание микросервисов с gRPC и Protobuf в C++
Запись от bytestream размещена 06.05.2025 в 11:29
Показов 7156 Комментарии 0

Нажмите на изображение для увеличения
Название: ac5668fa-cb15-465a-a5d2-cc7eacdb0bce.jpg
Просмотров: 205
Размер:	213.4 Кб
ID:	10751
Монолитные приложения, которые ещё недавно считались стандартом индустрии, уступают место микросервисной архитектуре — подходу, при котором система разбивается на небольшие автономные сервисы, каждый из которых отвечает за конкретную бизнес-функцию. Такая декомпозиция...
Аватар для bytestream
Старый
Многопоточность в C++: Современные техники C++26
Запись от bytestream размещена 04.05.2025 в 12:33
Показов 7509 Комментарии 0

Нажмите на изображение для увеличения
Название: 4a8b9049-fd0e-4828-9530-42a780e5da71.jpg
Просмотров: 242
Размер:	332.2 Кб
ID:	10732
C++ долго жил по принципу "один поток — одна задача" — как старательный солдатик, выполняющий команды одну за другой. В то время, когда процессоры уже обзавелись несколькими ядрами, этот подход стал похож на ситуацию, когда в комнате полно рабочих, но только один из них что-то делает, а остальные курят в сторонке.

До стандарта C++11 многопоточность в C++ напоминала дикий запад — каждый выживал как мог. Программисты...
Аватар для bytestream
Старый
Использование корутин C++ для асинхронных задач
Запись от bytestream размещена 03.05.2025 в 20:09
Показов 5727 Комментарии 0

Нажмите на изображение для увеличения
Название: 31565451-1274-451d-a716-f5afb409ce3a.jpg
Просмотров: 177
Размер:	183.3 Кб
ID:	10727
Разработчики, погруженные в мир современного программирования, ежедневно сталкиваются с неизбежным сближением высокой производительности и простоты кода. Асинхронное программирование – одна из тех областей, где достичь этого баланса традиционно считалось...
Аватар для bytestream
Старый
Создание своего пула потоков на C++
Запись от bytestream размещена 01.05.2025 в 14:07
Показов 4358 Комментарии 1

Нажмите на изображение для увеличения
Название: 9dc32d80-0500-4757-8090-cfed9a45873d.jpg
Просмотров: 172
Размер:	150.4 Кб
ID:	10703
Стандартная библиотека C++ со времен C++11 значительно упростила работу с потоками, но, как ни странно, до сих пор не предоставляет готового пула потоков. Некоторые сторонние решения, конечно, существуют, но они либо слишком тяжеловесны, либо недостаточно гибки для специфических...
Аватар для bytestream
Старый
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
Запись от bytestream размещена 29.04.2025 в 13:54
Показов 6241 Комментарии 0
Метки c++, c++20, c++23, c++26, stroustrup

Нажмите на изображение для увеличения
Название: 38c6a74a-1e51-4fc9-b831-be09c85bc409.jpg
Просмотров: 168
Размер:	143.3 Кб
ID:	10696
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто на дворе всё ещё прошлое тысячелетие — когда телефоны приходилось...
Аватар для bytestream
Старый
Итераторы в C++: Продвинутые техники использования
Запись от bytestream размещена 16.04.2025 в 17:50
Показов 3909 Комментарии 0
Метки c++

Нажмите на изображение для увеличения
Название: 45e6629f-8035-416b-a9c4-275a664c6c50.jpg
Просмотров: 121
Размер:	292.2 Кб
ID:	10601
Итераторы - одна из самых гибких и выразительных концепций в C++, позволяющих абстрагировать обход элементов контейнера от его внутренней реализации. За прошедшие годы они эволюционировали от простых указателей до сложных абстракций, способных выражать бесконечные последовательности, ленивые...
Аватар для bytestream
Старый
Кастомные аллокаторы в C++ и оптимизация управления памятью
Запись от bytestream размещена 14.04.2025 в 15:54
Показов 6556 Комментарии 0
Метки c++

Нажмите на изображение для увеличения
Название: 67dc6cbc-8032-46f7-a85b-4a2bcb5aeaba.jpg
Просмотров: 173
Размер:	180.5 Кб
ID:	10590
Работа с памятью в С++ всегда была и остаётся одной из самых увлекательных и сложных задач для программиста. Любой опытный C++ разработчик подтвердит: стандартные механизмы аллокации памяти – штука удобная, но подчас совершенно негибкая. Типичный вызов new и delete прекрасно работает в большинстве повседневных задач, но стоит вашему приложению выйти на территорию высокой производительности...
Аватар для bytestream
Старый
std::expected в C++: Управление ошибками
Запись от bytestream размещена 12.04.2025 в 19:16
Показов 5913 Комментарии 0
Метки c++, c++23, std::expected

Нажмите на изображение для увеличения
Название: 9aacaf76-f3e3-4128-a329-189c8f3d92cb.jpg
Просмотров: 183
Размер:	174.0 Кб
ID:	10583
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок, исключения, специальные значения или указатели. Каждый метод имел свои недостатки: коды ошибок затрудняли...
Аватар для bytestream
Старый
Статическое и динамическое связывание в C++
Запись от bytestream размещена 09.04.2025 в 11:08
Показов 3730 Комментарии 0
Метки c++, linking

Нажмите на изображение для увеличения
Название: 2d3a6baf-3c46-4f72-a9d5-0ea7fb0fd22b.jpg
Просмотров: 242
Размер:	155.4 Кб
ID:	10558
Связывание в C++ — одна из тех "невидимых" технических сторон программирования, о которой многие имеют лишь поверхностное представление, хотя эта концепция критически влияет на производительность, безопасность и удобство сопровождения кода. Если вы когда-нибудь...
Аватар для bytestream
Старый
std::mutex в C++: Советы и примеры использования
Запись от bytestream размещена 03.04.2025 в 11:03
Показов 6593 Комментарии 0

Нажмите на изображение для увеличения
Название: ff86457d-b65b-4186-826d-a8876f864e2b.jpg
Просмотров: 263
Размер:	208.6 Кб
ID:	10516
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство предотвращения состояний гонки (race conditions) при доступе к разделяемым данным. По сути, мьютекс работает как замок: поток блокирует его перед входом в критическую секцию и разблокирует после выхода.

В контексте многопоточного программирования на C++ мьютексы...
Аватар для bytestream
Старый
C++26: Индексирование пакетов и метапрограммиро­вание
Запись от bytestream размещена 20.03.2025 в 19:04
Показов 3274 Комментарии 1
Метки c++, c++26

Нажмите на изображение для увеличения
Название: be00bf89-86a4-449c-a460-432fb716aeaf.jpg
Просмотров: 162
Размер:	154.9 Кб
ID:	10476
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими шаблонами, пытаясь добраться до конкретного элемента в пакете...
Аватар для bytestream
Старый
C++26: Что мы потеряли
Запись от bytestream размещена 19.03.2025 в 20:25
Показов 2400 Комментарии 0
Метки c++, c++26

Нажмите на изображение для увеличения
Название: 192bd058-df5d-4620-bcf9-3d1f522d349c.jpg
Просмотров: 191
Размер:	181.1 Кб
ID:	10462
С каждым новым стандартом C++ обретает новые возможности — это ясно, как божий день. Однако есть и другая сторона — избавление от устаревших и проблемных элементов. Обычно удаление функциональности из языка происходит в два этапа. Сначала определенная конструкция...
Аватар для bytestream
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru