мне не нравится реальность
Я всё никак не могу понять как атомики работают, может кто-то сможет мне объяснить. Как swap (aka exchange) синхронизируется с самим собой, при ordering = Acquire? Из документации AtomicBool::swap: > Note that using Acquire makes the store part of this operation…
Короче я кажется разобрался (спросил в чатике
1. Атомики всегда атомарны (ВНЕЗАПНО, ПРАВДА???).
2. Ордеринг влияет не на атомик, который читается/пишется, а на остальную память после операции. Т.е. ордеринг нужен только если нужно поддерживать несколько атомиков сразу или если атомик защищает какую-то память.
3. Документация получается несколько запутывающей, но увы.
Так что ответ на мой вопрос: нет,
Более того, в моём конкретном случае, мне хватит даже
tokio/loom, вхих). 1. Атомики всегда атомарны (ВНЕЗАПНО, ПРАВДА???).
swap(true) всегда вернёт false ровно один раз, вне зависимости от ордеринга.2. Ордеринг влияет не на атомик, который читается/пишется, а на остальную память после операции. Т.е. ордеринг нужен только если нужно поддерживать несколько атомиков сразу или если атомик защищает какую-то память.
3. Документация получается несколько запутывающей, но увы.
Так что ответ на мой вопрос: нет,
x = y не может быть. Потому что это, блин, атомарные операции.Более того, в моём конкретном случае, мне хватит даже
Relaxed, т.к. мне не нужно синхронизовывать другую память с другими тредами.Оцените прошедший день
Final Results
19%
+2 (прекрасно)
31%
+1
21%
0 (нейтрально)
10%
-1
19%
-2 (ужасно)
Если вы не пьёте оливковое масло из горла, то даже не пишите мне
Оцените прошедший день
Final Results
20%
+2 (прекрасно)
22%
+1
28%
0 (нейтрально)
12%
-1
18%
-2 (ужасно)
— Why do you always have so much going on in front of you?
— 🎵 Cause every time I think I take 10 damage and every thought I have makes me wanna die 🎵
— 🎵 Cause every time I think I take 10 damage and every thought I have makes me wanna die 🎵
Оцените прошедший день
Final Results
14%
+2 (прекрасно)
25%
+1
28%
0 (нейтрально)
17%
-1
16%
-2 (ужасно)
Это видео — отрезок из аниме Love Live! School Idol Project, где героиня по имени Nico Yazawa говорит свою коронную фразу "Nico-Nico-Niii". Но поверх её лица наклеена фотография Niko Matsakis — одного из участников compiler team и language team раста.
A brutally effective hash function in Rust
Маленькая статья о том, какая hash функция используется в rustc для hash таблиц и почему.
Маленькая статья о том, какая hash функция используется в rustc для hash таблиц и почему.
Nicholas Nethercote
A brutally effective hash function in Rust
Update (Dec 10, 2021): I have added some extra information worth reading at the bottom of this post.
Оцените прошедший день
Final Results
20%
+2 (прекрасно)
27%
+1
31%
0 (нейтрально)
9%
-1
13%
-2 (ужасно)
Гитхаб выкатили бетку нового поиска, по обещаниям лучше старого.
— Анонс (видео)
— Анонс (текст)
— Обсуждение (реддит)
Выглядит очень многообещающе, наконец-то в gh будет рабочий поиск. А ещё в видео показали резолвинг сиволов для раста :3
Кстати написан новый движок тоже на расте!
Зарегистрироваться в лист ожидания фичи можно тут: https://cs.github.com/about
— Анонс (видео)
— Анонс (текст)
— Обсуждение (реддит)
Выглядит очень многообещающе, наконец-то в gh будет рабочий поиск. А ещё в видео показали резолвинг сиволов для раста :3
Кстати написан новый движок тоже на расте!
Зарегистрироваться в лист ожидания фичи можно тут: https://cs.github.com/about
Оцените прошедший день
Final Results
21%
+2 (прекрасно)
23%
+1
29%
0 (нейтрально)
11%
-1
16%
-2 (ужасно)