[00:19:49] <ada_ru> (Максим) > 16.a/3
Implementation Note: To ensure this, on a multiprocessor, any read or update of an atomic object may require the use of an appropriate memory barrier.
[00:20:05] <ada_ru> (Максим) http://www.ada-auth.org/standards/2xaarm/html/AA-C-6.html
[00:22:42] <ada_ru> (FROL256) » наверное, например, когда ты атомарной операцией защищаешь сложный объект
Ну да, логично. Я как раз пошёл прогуляться и подумал об этом. Но меняф кое что смущает ....
[00:22:54] <ada_ru> (FROL256) допустим мы стороим часть дерева в одном потоке
[00:22:57] <ada_ru> (FROL256) или всё дерево
[00:23:04] <ada_ru> (FROL256) а в другом хотим в него залезть
[00:23:32] <ada_ru> (FROL256) тогда получается что мы всё-равно все ображения к этому дереву должны делать через std::atomic<какой-то тип>
[00:23:38] <ada_ru> (FROL256) потому что эти параметры
[00:23:55] <ada_ru> (FROL256) memory_order_relaxed,
memory_order_consume,
memory_order_acquire,
memory_order_release,
memory_order_acq_rel,
memory_order_seq_cst
[00:23:59] <ada_ru> (FROL256) они же все в атомик пихаются
[00:24:02] <ada_ru> (FROL256) а не просто так
[00:24:42] <ada_ru> (FROL256) то есть если бы вот можно было сказать потоку —- fence всё что было раньше, как в RISC-V команда
[00:24:50] <ada_ru> (I_vlxy_I) В атомарные операции, а не в сам атомик вроде :-)
[00:24:57] <ada_ru> (FROL256) ну в операции да
[00:25:04] <ada_ru> (FROL256) но то есть я не могу просто построить дерево
[00:25:16] <ada_ru> (FROL256) я должен внутри кода построения всё на этих операциях делать
[00:25:19] <ada_ru> (FROL256) тваюмать
[00:25:27] <ada_ru> (I_vlxy_I) То есть это не свойства объекта, а свойства операции
[00:25:30] <ada_ru> (FROL256) да
[00:25:33] <ada_ru> (FROL256) согласен
[00:26:06] <ada_ru> (I_vlxy_I) И как с ней компилятор и процессор поступят и какие гарантии дадут
[00:26:12] <ada_ru> (I_vlxy_I) Такоэ
[00:27:35] <ada_ru> (FROL256) ну просто если я делаю построение дерева чере эти операции
[00:27:47] <ada_ru> (FROL256) и вот я допустим его построил
[00:28:03] <ada_ru> (FROL256) то зачем мне что-либо езё кроме memory_order_relaxed
[00:28:22] <ada_ru> (FROL256) хотя ....
[00:28:29] <ada_ru> (FROL256) хочется короче пример полезный
[00:28:35] <ada_ru> (FROL256) непонятно зачем
[00:29:10] <ada_ru> (FROL256) то есть даже само описание
[00:29:20] <ada_ru> (FROL256) std::memory_order (упорядочение доступа к памяти) определяет, как обычный, неатомарный доступ к памяти, упорядочивается вокруг атомарных операций.
[00:29:30] <ada_ru> (FROL256) как-то стрёмно ...
[00:29:53] <ada_ru> (FROL256) спинлок я ещё могу понять .... с std::atomic_flag
[00:32:18] <ada_ru> (FROL256) то есть если я допусти мбуду использовать везде доступ memory_order_relaxed, у меня может так получиться что для какого-то потока дерево вообще не валидное получится что ли ...
[00:32:46] <ada_ru> (Максим) Мне кажется у Интела это всё не особо критично, потому что они гарантируют порядок операций чтения записи
[00:35:36] <ada_ru> (FROL256) Это да
[00:35:50] <ada_ru> (FROL256) там везде memory_order_seq_cst
[00:36:38] <ada_ru> (FROL256) но мне как раз интересно про арм
[02:48:54] <ada_ru> (FROL256) вот тут вроде доходчиво
[02:48:56] <ada_ru> (FROL256) https://www.modernescpp.com/index.php/fences-as-memory-barriers
[02:48:58] <ada_ru> (FROL256) https://www.modernescpp.com/index.php/acquire-release-fences
[14:46:06] <ada_ru> (Eugene) голосуйте или проиграете!
https://www.strawpoll.me/17932792/r
[17:51:46] <ada_ru> (insert_reference_here) отвечает (Sergei) на <Спасибо, интересная …>
C++ сложный, потому что (в частности) хранит совместимость с C.
[17:56:12] <ada_ru> (Oleg) Да мне кажется нет там уже давно совместимости. Разве что синтаксис
[17:56:13] <ada_ru> (Sensei5) Си++ сложный? Для кого?
[18:00:19] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Да мне кажется нет т…>
есть. а вот синтаксис там - наверное самая несовместимая у них штука 🙂
[18:00:49] <ada_ru> (Oleg) Ну может и так
[18:02:06] <ada_ru> (I_vlxy_I) они же даже пытаются развиваться синхронно - та же многопоточка и атомики у них появились одновременно в 11 ревизии.
[18:02:13] <ada_ru> (I_vlxy_I) но есть конечно и несовместимые новшества
[18:03:17] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Да мне кажется нет т…>
Там несовместимость в некоторых мелочах. Достаточная, чтобы наугад взятый сишный код был невалидным C++
[18:03:19] <ada_ru> (I_vlxy_I) в принципе по степени совместимости с Си с С++ может поятягаться только ObjC, но он уже почти труп.
[18:03:36] <ada_ru> (insert_reference_here) отвечает (Sensei5) на <Си++ сложный? Для ко…>
Для всех. Включая тех, кто на нём пишет регулярно
[18:04:16] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <в принципе по степен…>
На яблочной экосистеме Swift его до сих пор так и не вытеснил
[18:04:41] <ada_ru> (Sensei5) отвечает (insert_reference_here) на <Для всех. Включая те…>
Я этого не чувствую
[18:04:43] <ada_ru> (I_vlxy_I) угу. но яблоки тратять много ресурсов чтобы swift полностью заменил objc.
[18:05:46] <ada_ru> (I_vlxy_I) отвечает (Sensei5) на <Я этого не чувствую>
чтобы понять сложный язык или нет - достаточно походить на конфы по этому языку. конфы Го от конфов С++ в плане содержания докладов сильно отличаются.
[18:06:00] <ada_ru> (Oleg) Во точно
[18:06:10] <ada_ru> (Oleg) Го вообще простой
[18:06:11] <ada_ru> (Sensei5) Го очень желторот
[18:06:27] <ada_ru> (Sensei5) Поэтому темы разные
[18:06:41] <ada_ru> (I_vlxy_I) отвечает (Sensei5) на <Го очень желторот>
ок. можно сходить на жабскую конфу и оценить какие там будут темы.
[18:06:51] <ada_ru> (Oleg) А я вот эрлангом заинтересовался
[18:07:05] <ada_ru> (I_vlxy_I) и какой процент от докладов будет посвящен чисто языку и граблям в нём и как это преодолеть.
[18:07:11] <ada_ru> (Sensei5) отвечает (I_vlxy_I) на <ок. можно сходить на…>
Их расстреливать надо сразу
[18:07:53] <ada_ru> (I_vlxy_I) отвечает (Sensei5) на <Их расстреливать над…>
😄 а с чем еще сравнивать? что не желторотого осталось и чтобы не расстрелять и чтобы популярное?
[18:08:06] <ada_ru> (Sensei5) отвечает (I_vlxy_I) на <😄 а с чем еще сравни…>
Ничего нет
[18:08:13] <ada_ru> (I_vlxy_I) :-DDDDDDD
[18:08:40] <ada_ru> (insert_reference_here) отвечает (Sensei5) на <Ничего нет>
Согласен, нарочно сделать такой язык, как C++ — это надо постараться
[18:44:10] <ada_ru> (Oleg) Так он эволюционировал до такого состояния. И то стал проще теперь
[19:22:16] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Так он эволюциониров…>
Легаси никуда не делось. И пока из языка не начнут лишнее выкидывать — лучше он не станет
[19:22:46] <ada_ru> (Oleg) Ну легаси можно не использовать
[19:23:30] <ada_ru> (insert_reference_here) отвечает (Oleg) на <Ну легаси можно не и…>
Можно. Но альтернатив Windows, Linux и FreeBSD пока попросту нет
[20:19:29] <ada_ru> (I_vlxy_I) вы про какое-то разное легаси говорите. ну да ладно.
[20:26:15] <ada_ru> (Oleg) Ага :-)
[21:04:10] <nordwind> http://www.opennet.ru/opennews/art.shtml?num=50610
[21:06:17] <nordwind> Кто там в rh работает? Штуки от рх со старым логотипом можно продавать по двойной цене
[21:06:53] <nordwind> Сувениры в смысле. Кружки, флешки
[21:07:16] <nordwind> Мне старый нравился больше
[22:50:36] <ada_ru> (I_vlxy_I) а вот сухой: https://www.youtube.com/watch?v=0g_DQw03RLo
[22:52:42] <ada_ru> (Lieutenant_Commander_Data) Максим Дай мне админские права в англоязычной группе пожалуйста.
[22:52:48] <ada_ru> (Lieutenant_Commander_Data) Буду удалять неугодных
[22:53:28] <ada_ru> (I_vlxy_I) которые про 1xbet, большие выигрыши, говорят?
[22:54:31] <ada_ru> (Lieutenant_Commander_Data) bitmex
[23:06:48] <ada_ru> (I_vlxy_I) крипота!
[23:23:54] <ada_ru> (Oleg) отвечает (I_vlxy_I) на <а вот сухой: https:/…>
Ужас. Но мне непонятно, был удар молнией и отказала какая то автоматика, но пожар то из за чего? Да ещё и вроде в хвосте же ?
[23:24:15] <ada_ru> (I_vlxy_I) не, двигатель горит
[23:24:21] <ada_ru> (I_vlxy_I) ну и все что вокруг него
[23:24:24] <ada_ru> (I_vlxy_I) (баки)
[23:24:45] <ada_ru> (I_vlxy_I) плюс говорят из за сложных погодных условий он не с первой попытки сел
[23:24:51] <ada_ru> (I_vlxy_I) то есть уходил на второй круг
[23:25:19] <ada_ru> (I_vlxy_I) движки, кстати, там русско-французские
[23:29:44] <ada_ru> (Борис) Что известно об авиакатастрофе в Шереметьеве:
— самолёт Sukhoi Superjet 100, следовавший рейсом Москва — Мурманск, вернулся в аэропорт через 30 минут после взлёта;
— согласно Flightradar, самолёт подал сигнал бедствия через 20 минут после взлёта;
— по данным «Аэрофлота», двигатели самолёта загорелись после приземления;
— погибли 13 человек, в том числе двое детей;
— ээвакуация пассажиров загоревшегося самолёта заняла 55 секунд при нормативе 90 секунд, сообщили в авиакомпании
— изначально сообщалось о гибели бортпроводника Максима Моисеева, помогавшего эвакуировать людей. По последним данным, он жив и находится в реанимации
[23:32:21] <ada_ru> (I_vlxy_I) судя по видосу приземления - двигатель горит в полёте
[23:33:34] <ada_ru> (I_vlxy_I) но это конечно не так стрёмно как с боингами было