Хороший цикл, по нему и познакомился с лок-фри. Вообще после подобных статей и появилось желание избавиться от блокировок (Ну и еще от курса лекций по параллельному программированию https://vk.com/wall-54530371_53817)
werw: я и скорее всего nirvimel под быстрее понимаем не саму реализацию контейнера локфри/блокировки, а работу многопроцессной программы через разделяемую память со структурой данных таким же образом как в многопоточной программе доступ через общее адресное пространство по умолчанию, не используя для обмена сокеты или пайпы итд.
Сам лок-фри контейнер реализовать я и не берусь, это мне не по зубам, использую реализацию из библиотеки nbds (Concurrency kit еще на примете), только модифицировать для работы в разделяемой памяти. Или вообще прикрутить Redis или Memcached, вот только "голый" лок-фри контейнер выдает 1-15 млн ОП/с на наборе данных с соотношении поиск/запись схожим с моей задачей, а цифры озвученные в бенчмарках этих БД это около сотен тысяч ОП/с.
По поводу многочисленных попыток в лок-фри, я правильно понимаю, что если операции модификации будут в среднем мало конкурировать, то лок-фри реализация будет быстрее чем на блокировках?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.