Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
Кресты на моей кукухе
Автор вспомнил, что это канал про lock-free очередь его мечты (ну не прям lock-free, честный lock-free сложно и не нужен) Заимплементил-таки схему bitset + queue вместо queue + queue.Предварительный результат радует. График — гистограмма задержек на запись…
Некрасивая метрика, проблему с которой я сходу (к своему стыду) не понял — время от отправки сообщения до его чтения. На старой очереди это было <1 мкс, на новой >40мкс в медиане. Ночью меня осенило: я же разогнал писателей. Читатель снова стал захлёбываться. Докинул nop'ов ~пропорционально уменьшению во времени прохождения бенча — метрика более-менее нормализовалась. С этим разобрался

Пишем быстрее! Получилось срезать ~ 70нс (~20%) в медиане и в среднем. Быстрее и на 99-м перцентиле, хоть и немного

С чтением неоднозначно(9( Чуть лучше в медиане, чуть хуже в среднем (~7% тудым/сюдым). Хуже на высоких перцентилях на 10-15%. В общем, скорее хуже

При том, что мне хочется минимально тормозить писателя, трейдофф приемлемый
Кресты на моей кукухе
Некрасивая метрика, проблему с которой я сходу (к своему стыду) не понял — время от отправки сообщения до его чтения. На старой очереди это было <1 мкс, на новой >40мкс в медиане. Ночью меня осенило: я же разогнал писателей. Читатель снова стал захлёбываться.…
В общем, схематоз:

Было: MPMC FAA-очередь занятых элементов + такая же очередь свободных элементов
Стало: MPMC FAA-очередь занятых элементов + битсет, отвечающий за свободные элементы

Битсет имеет операции push(index) и take_any() -> optional<size_t>
Выглядит как массив атомиков, в которых один битик соответствует одному индексу. Я хотел минимизировать контеншн, потому
1. массив побит на блоки по 16 атомиков (128 байт, 1024 элемента-битика)
2. каждый поток имеет свой "родной" блок

На take_any() мы ищем битик в родном блоке. Если не нашли — начинаем проходить по чужим блокам. Прошли круг и ничего не нашли — очень жаль, вываливаемся

Есть у меня большие сомнения в линеаризуемости этого добра) Хотя пока читатель один, должно сходиться

Дальше буду смотреть, есть ли прок от замены MPMC очереди на MPSC, раз мне больше всё равно не надо
Идея на миллион, отдаю бесплатно

Браузер.... на... электроне......
Еееее, смог настроить NUMA на тачке
network? а может, лучше... darelax?
Как же я в рот ебал этот ваш лок фридом нахуй. Вот ты всё придумал, всё у тебя отлично складывается, ты обложен гарантиями, писатели не мешают друг другу примерно никогда, всё заебись, ты гений. И тут приходит читатель, гнида нахуй, и что были твои гарантии, что не было, у тебя лицо уже обоссано, все твои там идеи это маня-фантазии и полная поебота
Жоско планирую приезд стола
Как же радостно встретить тред на 120 сообщений в багзилле кернела, где обсуждается твоя проблема
Как же горестно увидеть, что она закончилась ни на чём 2 года назад
Увидел настолку в магазине — купился на визуал и сеттинг. Наконец, опробовали. Довольно прикольно, красивенько. Играется интересно. А ещё в ней есть буквально я

Но когда выяснил, что есть и компьютерная игра, не мог понять, зачем нужен формат настолки, потому что играется довольно механически. Тем не менее, допройти хочется. А потом и компьютерную версию пройти. Интересно, насколько различаются механики
Вы там все чокнулись в своих компьютерах

Ни одно из измерений коробка 5.25'' — не 5.25''
Ни одно из измерений коробка 3.5'' — не 3.5''
Ни одно из измерений коробка 2.5'' — не 2.5''
И почему корпуса с hot swap'ом hdd'шников это настолько дорого
Самая дешмань, которую получается найти, это 45к+. Видимо, дорогая панель, в которую втыкаются диски. Но почему она такая дорогая-то

Upd. Изучив вопрос, пришёл к выводу: потому что столько платят
Пора узнать, как же считали наши предки
Hitachi
Вайбики 2-й картинки

Upd. оказывается, WD выкупили бренд HGST Ultrastar, и некоторые модели могут продаваться как под WD, так и под HGST брендом
А можно ну хотя бы нормальный…
2025/03/11 02:03:09
Back to Top
HTML Embed Code: