Было: MPMC FAA-очередь занятых элементов + такая же очередь свободных элементов Стало: MPMC FAA-очередь занятых элементов + битсет, отвечающий за свободные элементы
Битсет имеет операции push(index) и take_any() -> optional<size_t> Выглядит как массив атомиков, в которых один битик соответствует одному индексу. Я хотел минимизировать контеншн, потому 1. массив побит на блоки по 16 атомиков (128 байт, 1024 элемента-битика) 2. каждый поток имеет свой "родной" блок
На take_any() мы ищем битик в родном блоке. Если не нашли — начинаем проходить по чужим блокам. Прошли круг и ничего не нашли — очень жаль, вываливаемся
Есть у меня большие сомнения в линеаризуемости этого добра) Хотя пока читатель один, должно сходиться
Дальше буду смотреть, есть ли прок от замены MPMC очереди на MPSC, раз мне больше всё равно не надо
Было: MPMC FAA-очередь занятых элементов + такая же очередь свободных элементов Стало: MPMC FAA-очередь занятых элементов + битсет, отвечающий за свободные элементы
Битсет имеет операции push(index) и take_any() -> optional<size_t> Выглядит как массив атомиков, в которых один битик соответствует одному индексу. Я хотел минимизировать контеншн, потому 1. массив побит на блоки по 16 атомиков (128 байт, 1024 элемента-битика) 2. каждый поток имеет свой "родной" блок
На take_any() мы ищем битик в родном блоке. Если не нашли — начинаем проходить по чужим блокам. Прошли круг и ничего не нашли — очень жаль, вываливаемся
Есть у меня большие сомнения в линеаризуемости этого добра) Хотя пока читатель один, должно сходиться
Дальше буду смотреть, есть ли прок от замены MPMC очереди на MPSC, раз мне больше всё равно не надо
During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. Select “New Channel” The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether.
from us