The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Microsoft наймёт разработчиков для переписывания сервисов с C# на Rust"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Microsoft наймёт разработчиков для переписывания сервисов с ..." +/
Сообщение от penetrator (?), 02-Фев-24, 06:21 
> который не имплементирует трейт Sync. А значит его использовать в твоем многопотоке unsafe.

во теперь понятно

thread-safe типы отмечены в шарпе в доках, обычно это все статические члены, или специальные классы вроде ConcurrentBag

прикол в том что я тестировал скороcть межпоточной синхронизации vs создание экземпляра на большом числе итераций

межпоточная синхронизация оказалась медленнее раза в два, т.е. создать объект свой для каждого потока дешевле, чем обращаться к единственному экземпляру (синглтону) и даже дешевле, чем использовать thread-local объект

это в шарпе, не знаю что будет в расте, можешь кстати попробовать сравнить без Sync, с Sync, ну и экзотика с
кастомной синхронизацией например, интересно узнать что у тебя получится.

P.S. не thread-safe объект - это не UB, это вполне defined behaviour, в котором доступ к одной и той же переменной будет осуществляться в порядке переключения потоков на CPU, который ты не контролируешь разумеется, и который заранее неизвестен, отсюда вся межпоточная синхронизация, которая в расте как я понял встроена, если есть трейт Sync

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Microsoft наймёт разработчиков для переписывания сервисов с C# на Rust, opennews, 01-Фев-24, 09:10  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру