Веб-версияОткрыть в Telegram

ПостНедавно в userver добавили реализацию счётчика на основе rseq -- restartable sequence.

8 апреля 2024
L
Loser story
Недавно в userver добавили реализацию счётчика на основе rseq -- restartable sequence. Идея не новая и встречалась как один из юзкейсов, когда это все добавлялось в ядро (4.18). Но в опенсурсе таких реализаций не встречал. Основное преимущество перед per thread счётчиком, то что thread-ов обычно больше cpu-cores, и как следствие чтения получаются быстрее, а записи аналогичны. Вообще впервые я встретил применение rseq в google tcmalloc, как замену per thread спискам блоков. И на мой взгляд это одна из лучших идей, которые я видел в современных аллокаторах. Потому что для очень большого числа программ, это сильно улучшает использование памяти. rseq исторически был сделан как раз для tcmalloc, хотя вероятно в гугле также заюзали и для метрикоподобных счётчиков. Ещё из интересного в glibc 2.35 затащили инициализацию rseq и в целом начали использовать для sched_getcpu. Вроде бы это произошло потому что пришли люди из mysql в redhat и сказали, а у нас медленно с вашим sched_getcpu, если сделать с rseq будет быстрее. Юзкейс аналогичный, шардированный счётчик.
24 · 2.9K ·

Рядом в ленте

LLoser storyНедавно читал про разные olap query execution engines: velox, photon, etc. Есть интересный момент, о котором я думал раньше, но не встречал на практике. ПредлагLLoser storyВ комментариях упомянули интересный момент, в некоторых JVM, есть runtime флаг, для того чтоб знать в какой кодировке записана строка (utf-16 или latin1), гугли
это сообщение
LLoser storyЯ конечно все понимаю, не очень популярный инвалидский дистрибутив и все дела. Но у всех зависает wildcard search по контенту пакетов в alpine? https://pkgs.alpLLoser storyПосле такого бессмысленного поста как будто обязан написать что-то любопытное. В протобуфе относительно недавно обновили то как считают сколько байтов нужно что

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем