atomic
-
Хабрахабр
C++26 — прогресс и новинки от ISO C++
Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи: запрет возврата из функции ссылок на временное значение, [[indeterminate]]…
Читать далее » -
Хабрахабр
Атомики в Go: особенности внутренней реализации
Атомики в Go - это один из методов синхронизации горутин. Они находятся в пакете стандартной библиотеки sync/atomic. Некоторые статьи сравнивают atomics с mutex, так как это примитивы синхронизации низкого уровня. Они предоставляют бенчмарки и сравнения по скорости, например Go: How to Reduce Lock Contention with the Atomic Package. Однако важно понимать, что, хотя это примитивы синхронизации низкого уровня, они разные…
Читать далее » -
Хабрахабр
Как работать с атомарными типами данных в C++
Насколько популярна сегодня тема атомарных данных, настолько же она обширна для одной статьи. Можно подробно останавливаться на разных аспектах атомарности: например, анализировать memory ordering, рассуждать о lock-free алгоритмах с использованием атомиков или исследовать производительность атомиков на разных платформах. Под катом мы рассмотрим некоторые базовые принципы работы с атомарными типами данных в языке C++. А именно: осветим работу с атомарными данными,…
Читать далее » -
Хабрахабр
С++20 на подходе! Встреча в Рапперсвил-Йона
В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++. Вот что вас ждёт под катом: Контракты и друзья Концепты (без друзей) __has_cpp_attribute(unlikely) bit_cast<my_stuff>(some_array) contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом atomic_ref Что нового можно писать в шаблонах и чем это полезно constexpr virtual foo() Parallelism 2, Reflection и Executors TS…
Читать далее » -
Хабрахабр
[Перевод] Мифы о кэше процессора, в которые верят программисты
Как компьютерный инженер, который пять лет занимался проблемами кэша в Intel и Sun, я немного разбираюсь в когерентности кэша. Это одна из самых трудных концепций, которые пришлось изучить ещё в колледже. Но как только вы действительно её освоили, то приходит гораздо лучшее понимание принципов проектирования систем. Отвечу. Вы можете удивиться: зачем же разработчику ПО думать о механизме кэширования в CPU?…
Читать далее » -
Хабрахабр
C++ велосипедостроение для профессионалов
Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются велосипедами. Первый вопрос, который возникает при встрече с таким «велосипедом» — зачем люди переписывают что-то заново? Вариантов может быть несколько. Некоторые делают это для самообучения: берут класс стандартной библиотеки, пишут его сами с нуля, сравнивают то, что получилось, с тем, что есть в стандартной библиотеке — в процессе узнают для…
Читать далее »