Потокобезопасный std::map с производительностью lock-free map

Примеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex


В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>>

В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core i5/i7, Xeon, 2 x Xeon.
Читать дальше →
Потокобезопасный std::map с производительностью lock-free map
Source: habrahabr

Ускоряем std::shared_mutex в 10 раз

В этой статье мы детально разберем атомарные операции и барьеры памяти C++11 и генерируемые ими ассемблерные инструкции на процессорах x86_64.

Далее мы покажем как ускорить работу contfree_safe_ptr<std::map> до уровня сложных и оптимизированных lock-free структур данных аналогичных по функциональности std::map<>, например: SkipListMap и BronsonAVLTreeMap из библиотеки libCDS (Concurrent Data Structures library): github.com/khizmax/libcds

И такую многопоточную производительность мы сможем получить для любого вашего изначально потоко-небезопасного класса T используемого как contfree_safe_ptr<T>. Нас интересуют оптимизации повышающие производительность на ~1000%, поэтому мы не будем уделять внимание слабым и сомнительным оптимизациям.
Читать дальше →
Ускоряем std::shared_mutex в 10 раз
Source: habrahabr

Делаем любой объект потокобезопасным

image


В этих 3-ех статьях я детально расскажу об атомарных операциях, барьерах памяти и о быстром обмене данными между потоками, а так же о «sequence-points» на примере «execute-around-idiom», а заодно постараемся вместе сделать что-нибудь полезное — умный указатель, который делает любой объект потоко-безопасным для любых операций с его членами переменными или функциями. А затем покажем как используя его достичь производительности высоко-оптимизированных lock-free алгоритмов на 8 — 64 ядрах.
Читать дальше →
Делаем любой объект потокобезопасным
Source: habrahabr

Ключевые анонсы первого дня конференции Build 2017

Рады поделиться с вами самыми интересными анонсами для разработчиков и системных администраторов, которые появились сегодня на Build 2017! Под катом вас ждут новости облачной платформы, традиционно представленные на ключевом докладе первого дня конференции.


Читать дальше →
Ключевые анонсы первого дня конференции Build 2017
Source: habrahabr

Пост №3099318

Автор: Реактор-кун

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3099318″ }, «headline»: «ROSIANNA RABBIT No. 7S Rosiannarabbil.com © 2017 Alex Dempsey / rosiannarabbit (Rosianna the Rabit) :: вино :: иисус :: бухло :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/rosiannarabbit-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-%D0%B8%D0%B8%D1%81%D1%83%D1%81-%D0%B2%D0%B8%D0%BD%D0%BE-3835388.jpeg», «height»: 1199, «width»: 800 }, «datePublished»: «2017-05-11T00:22:53+03:00», «dateModified»: «2017-05-11T00:22:53+03:00», «author»: { «@type»: «Person», «name»: «Реактор-кун» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3099318
Source: Joyreactor

Пост №3099317

Автор: psionik1113

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3099317″ }, «headline»: «арт девушка :: Liang-Xing :: Sucker Punch :: artist :: красивые картинки», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B0%D1%80%D1%82-%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0-%D0%BA%D1%80%D0%B0%D1%81%D0%B8%D0%B2%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-Sucker-Punch-Liang-Xing-3835387.jpeg», «height»: 4000, «width»: 3000 }, «datePublished»: «2017-05-11T00:22:48+03:00», «dateModified»: «2017-05-11T00:22:48+03:00», «author»: { «@type»: «Person», «name»: «psionik1113» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3099317
Source: Joyreactor

Пост №3099314

Автор: LYVrus

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3099314″ }, «headline»: «болливуд :: Индийское кино :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D0%B1%D0%BE%D0%BB%D0%BB%D0%B8%D0%B2%D1%83%D0%B4-%D0%98%D0%BD%D0%B4%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B5-%D0%BA%D0%B8%D0%BD%D0%BE-3835379.gif», «height»: 271, «width»: 635 }, «datePublished»: «2017-05-11T00:18:35+03:00», «dateModified»: «2017-05-11T00:18:35+03:00», «author»: { «@type»: «Person», «name»: «LYVrus» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3099314
Source: Joyreactor

Даже 5% беспилотных автомобилей сильно увеличивают пропускную способность дорог


Расположение автомобилей на старте эксперимента A


Расположение автомобилей через 93 секунды после старта эксперимента A, когда возникла первая волна с остановкой (справа вверху)


Расположение автомобилей через 327 секунд после старта эксперимента A, где один беспилотный автомобиль эффективно смягчает скопления


В 2008 году японские исследователи Юки Сугияма (Yuki Sugiyama) с соавторами получили экспериментальные свидетельства конкретного физического механизма, который приводит к образованию автомобильной пробки. Когда плотность автомобилей выше критического значения, то переход в состояние пробки — это натуральный фазовый переход, как кристаллизация воды при температуре −0 °C, и учёные получили экспериментальные доказательство этого тезиса. Таким образом, образование пробок на заданной плотности потока — естественное свойство человеческого вождения.
Читать дальше →
Даже 5% беспилотных автомобилей сильно увеличивают пропускную способность дорог
Source: geektimes

Пост №3099311

Автор: psionik1113







Развернуть



{
«@context»: «http://schema.org»,
«@type»: «BlogPosting»,
«mainEntityOfPage»:{
«@type»:»WebPage»,
«@id»:»/post/3099311″
},
«headline»: «арт девушка :: mezzo :: красивые картинки»,
«image»: {
«@type»: «ImageObject»,
«url»: «http://img0.joyreactor.cc/pics/post/full/%D0%B0%D1%80%D1%82-%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0-%D0%BA%D1%80%D0%B0%D1%81%D0%B8%D0%B2%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-mezzo-3835376.jpeg»,
«height»: 1132,
«width»: 800 },
«datePublished»: «2017-05-11T00:13:12+03:00»,
«dateModified»: «2017-05-11T00:13:12+03:00»,
«author»: {
«@type»: «Person»,
«name»: «psionik1113″
},
«publisher»: {
«@type»: «Organization»,
«name»: «JoyReactor.cc»,
«logo»: {
«@type»: «ImageObject»,
«url»: «http://joyreactor.cc/images/joyreactor_ie6.png»,
«width»: 207,
«height»: 54
}
},
«description»: «»
}

Комментировать 
Пост №3099311
Source: Joyreactor

Пост №3099288

Автор: RaptorAnton

По мотивам поста http://old.reactor.cc/post/3099195 Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3099288″ }, «headline»: «По мотивам поста http://old.reactor.cc/post/3099195 / олдфаг :: Типичный реакторчанин :: ньюфаг :: трап», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%A2%D0%B8%D0%BF%D0%B8%D1%87%D0%BD%D1%8B%D0%B9-%D1%80%D0%B5%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D1%87%D0%B0%D0%BD%D0%B8%D0%BD-%D0%BD%D1%8C%D1%8E%D1%84%D0%B0%D0%B3-%D0%BE%D0%BB%D0%B4%D1%84%D0%B0%D0%B3-%D1%82%D1%80%D0%B0%D0%BF-3835314.png», «height»: 395, «width»: 436 }, «datePublished»: «2017-05-10T23:52:31+03:00», «dateModified»: «2017-05-10T23:52:31+03:00», «author»: { «@type»: «Person», «name»: «RaptorAnton» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3099288
Source: Joyreactor