atomic

  • ХабрахабрФото C++26 — прогресс и новинки от ISO C++

    C++26 — прогресс и новинки от ISO C++

    Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи: запрет возврата из функции ссылок на временное значение, [[indeterminate]]…

    Читать далее »
  • ХабрахабрФото Атомики в Go: особенности внутренней реализации

    Атомики в Go: особенности внутренней реализации

    Атомики в Go - это один из методов синхронизации горутин. Они находятся в пакете стандартной библиотеки sync/atomic. Некоторые статьи сравнивают atomics с mutex, так как это примитивы синхронизации низкого уровня. Они предоставляют бенчмарки и сравнения по скорости, например Go: How to Reduce Lock Contention with the Atomic Package. Однако важно понимать, что, хотя это примитивы синхронизации низкого уровня, они разные…

    Читать далее »
  • ХабрахабрФото Как работать с атомарными типами данных в C++

    Как работать с атомарными типами данных в C++

    Насколько популярна сегодня тема атомарных данных, настолько же она обширна для одной статьи. Можно подробно останавливаться на разных аспектах атомарности: например, анализировать memory ordering, рассуждать о lock-free алгоритмах с использованием атомиков или исследовать производительность атомиков на разных платформах. Под катом мы рассмотрим некоторые базовые принципы работы с атомарными типами данных в языке C++. А именно: осветим работу с атомарными данными,…

    Читать далее »
  • ХабрахабрФото С++20 на подходе! Встреча в Рапперсвил-Йона

    С++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++ велосипедостроение для профессионалов

    C++ велосипедостроение для профессионалов

    Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются велосипедами. Первый вопрос, который возникает при встрече с таким «велосипедом» — зачем люди переписывают что-то заново? Вариантов может быть несколько. Некоторые делают это для самообучения: берут класс стандартной библиотеки, пишут его сами с нуля, сравнивают то, что получилось, с тем, что есть в стандартной библиотеке — в процессе узнают для…

    Читать далее »


Кнопка «Наверх»