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

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

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

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

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

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

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

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



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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нажмите на изображение для увеличения
Название: 192bd058-df5d-4620-bcf9-3d1f522d349c.jpg
Просмотров: 170
Размер:	181.1 Кб
ID:	10462
С каждым новым стандартом C++ обретает новые возможности — это ясно, как божий день. Однако есть и другая сторона — избавление от устаревших и проблемных элементов. Обычно удаление функциональности из языка происходит в два этапа. Сначала определенная конструкция...
Аватар для bytestream
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru