Size: a a a

cxx.Дискуссионная

2020 March 07

RM

Roy Mustang in cxx.Дискуссионная
Надо попробовать
источник

RM

Roy Mustang in cxx.Дискуссионная
но это уже костыль
источник

VD

Vlad Doc in cxx.Дискуссионная
Пока треды пишут в разную память всё ок
источник

VD

Vlad Doc in cxx.Дискуссионная
Главное шарить массив по кускам равными частями чтобы false sharing не было
источник

RM

Roy Mustang in cxx.Дискуссионная
Такое не катит в общем
источник

RM

Roy Mustang in cxx.Дискуссионная
Мне нужно на месте обрабатывать по всем объектам и посылать пакет, а функция записи данных в Net  выполняется в основном потоке и там выполняется запись
источник

RM

Roy Mustang in cxx.Дискуссионная
Тут либо отдельный атомарный вектор создавать, а потом циклом по вектору отправку данных, либо блочить при отправке пакета, но тогда смысл в параллеливании пропадает
источник

VD

Vlad Doc in cxx.Дискуссионная
Тебе нужно вектор забить данными на отправку?
источник

RM

Roy Mustang in cxx.Дискуссионная
а по другому никак
источник

VD

Vlad Doc in cxx.Дискуссионная
Если ты можешь преалоцировать вектор, то можешь сделать без локов
источник

VD

Vlad Doc in cxx.Дискуссионная
Если будешь делать просто пуш_бек в один атомарный вектор с разных тредов, перф будет наверное даже хуже чем однопоточка.
источник

а

акварель на мету in cxx.Дискуссионная
Nastya Medveda
Отличный город. я там училась какое-то время в СибГУТИ. :)
ты тяннн???
источник

FF

Flex Ferrum in cxx.Дискуссионная
Roy Mustang
Мне нужно на месте обрабатывать по всем объектам и посылать пакет, а функция записи данных в Net  выполняется в основном потоке и там выполняется запись
Один пакет на все объекты или по пакету на каждый?
источник

RM

Roy Mustang in cxx.Дискуссионная
Flex Ferrum
Один пакет на все объекты или по пакету на каждый?
Каждый пакет - всем клиентам в радиусе
источник

FF

Flex Ferrum in cxx.Дискуссионная
Кароч. Мысля такая пришла. Делаешь второй вектор, для пакетов. Вектор по размеру исходного, с объектами. Дальше запускаешь std::transform с нужным execution policy. На каждый вызов - создаёшь некую информацию для пакета и возвращаешь её. Ну а потом, уже за пределами transform, обрабатываешь полученный вектор с пакетами.
источник

FF

Flex Ferrum in cxx.Дискуссионная
Из-за того, что выходной вектор будет преаллоцирован, никаких дополнительных лочек на запись в него не будет. Каждый результат ляжет ровно в своё место.
источник

A

Alex Ф-ф-фэils!🌠︙ in cxx.Дискуссионная
Flex Ferrum
Из-за того, что выходной вектор будет преаллоцирован, никаких дополнительных лочек на запись в него не будет. Каждый результат ляжет ровно в своё место.
О, привет!✋
источник

FF

Flex Ferrum in cxx.Дискуссионная
Привет. :) Не узнаю вас в гриме. :)
источник

A

Alex Ф-ф-фэils!🌠︙ in cxx.Дискуссионная
Я тут планирую нано-дринкап
источник

FF

Flex Ferrum in cxx.Дискуссионная
Хм....... Звучит заманчиво. Главное, чтобы он не совпал с 20-ым марта, на который планируется мега-дринкап.
источник