TGViewer
Loser story Loser story @reverse13 · 946 subscribers
Post #751 2.58K
Loser story кастомные локфри iobuf-ы
Мы тут написали небольшой пост про свой iobuf который юзаем для реализации postgres протокола:
https://www.serenedb.com/blog/io-buffer

tldr: как мне кажется ключевых моментов три
1) он chunked => отсутствуют большие аллокации/копии данных
2) он простое wait-free
3) в него можно записать что-то потом (uncommitted, в блоге написано подробнее), это важно чтобы сначала сериализовать что-то и только потом записать размер этого в префиксе.


Вообще изначально думали заюзать folly iobuf или absl cord, но коллега очень не хотел мьютекс в таком простом кейсе добавлять :)

Собственно код самого буфера и проекта по ссылке
https://github.com/serenedb/serenedb
Буду рад всем кто поддержит нас с помощью PR/issue/звёздочек!
  • 👍 34
More from @reverse13
  1. Jul 29, 2026Вообще мы тут сделали end-to-end search/analytics benchmarks на 1e9 otel logs Планируем ту…
  2. Mar 19, 2026Последние пару месяцев смотрел и правил перф серчевого движка и в общем у нас наконец-то е…
  3. Dec 2, 2025Привет, мы частично заопенсорсили текущий код нашего проекта -- SereneDB. Это оказалось тя…
  4. Sep 28, 2025Вообще вот странная штука, больших проектов на C++, C, Rust которые делают базы данных или…
  5. Aug 30, 2025Решил почитать перед сном коммиты в llvm libc++, а то там llvm 21 вышел, думаю может обнов…
  6. Jul 16, 2025https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-na…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →