Потокобезопасные структуры данных с операциями Data.Map - PullRequest
1 голос
/ 26 октября 2019

Я ищу поточно-ориентированные структуры данных, которые имеют интерфейс, аналогичный Data.Map, т. Е. Поддерживают быстрые insert, lookup, delete операции. Под «потокобезопасным» я подразумеваю, что эти операции атомарны / линеаризуемыЯ знаю, что мог бы просто использовать

data MyThreadSafeDS k a = MyThreadSafeDS (TVar (Map k a))

, но тесты показывают, что это работает очень плохо, когда несколько потоков пытаются одновременно выполнять вставку / удаление. Интересно, что использование MVar дает худшие результаты в этом контексте.

Справочная информация: Я написал параллельную хэш-таблицу , и я ищу другие поточно-ориентированные структуры данных для включения в мойрезультаты тестов. Я знаю о хеш-таблицах , которые не кажутся поточно-ориентированными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...